TFT_eSPIとAudioI2SでmediaPlayerを作る(8)

今回は音楽再生機能の追加です。リピート再生やフォルダ内でのランダム再生等の機能です。

再生モードの選択

メイン画面の真ん中のボタンにメニューを追加しています。

  1.  プログラムを実行してこの画面になったら音符のアイコン(音楽ファイルの再生)にタッチ
  2.  ここで真ん中のボタンにタッチ。追加機能メニューが表示されます。
  3.  ここで”Play Mode”ボタンにタッチ。”Play Mode”メニューが表示されます。
  4.  これが”Play Mode”メニュー
    • A: 1曲再生
      • 現在選択されている曲を再生して再生終了
    • B: 1曲ランダム再生
      • 現在選択されているフォルダからランダムに1曲選択しそれを再生して再生終了
    • C: フォルダ内の曲を順番に再生
      • 現在選択されているフォルダ内の曲を順番に再生します。
    • D: フォルダ内の曲をランダムに再生
      • 現在選択されているフォルダ内の曲をランダムに再生します。
    • E: 選択されたモードの繰り返し
      • 例えばモードとしてAを選択。
        • Eの選択無し: 1回再生されて終了
        • Eの選択有り: その曲をStopボタンを押すまで再生を繰り返す。

注意: 各モード供モードを設定する前に再生する曲を先に選択して下さい。モードA以外は曲を選択する必要は無い様に思えますが、必ず曲を選択した後、モードを設定して下さい。

起動時の設定

予め設定したラジオ局又は音楽を起動時に再生する機能です。

  • 追加機能メニューで”Start Para”ボタンにタッチ。起動時設定画面が表示されます。
  • 上3段はデバイスと再生項目の設定です。
    • デバイス名は下記の通り
      • Web: Net Radio
      • Rad: Radiko
      • Lib: 音楽ファイル
    • 各デバイス名の左の丸ボタンにタッチしてデバイスを選択
    • 各デバイス名の右の欄タッチするとタイトル選択画面が表示されます
      • 上記は、”Rad”の右の欄にタッチした例。Radikoの放送局が表示されます。
  • Mode項目
    • これは音楽ファイル再生のみに適応されます。
  • Volumeの設定
    • Volumeの右側の欄にタッチするとVolume設定画面が表示されます。
    • この画面で設定します。
  • Auto Startボタン
    • このボタンをオンにすると起動時に設定した状態で再生が開始されます。
  • Readボタン
    • 現在の設定値を読み込みます。
  • OKボタン
    • 設定を保存して終了
  • Exitボタン
    • 設定を保存しないで終了。

スケッチ

  • スケッチ
    • ここに保存しました。ー>ここ 
      • 33,34行の *SSIDと*PASSWORDの指定をして下さい。
    • このスケッチにはDATAフォルダにデータが有ります。
      • Upload LittleFS to Pico/ESP8266/ESP32を使ってESP32にUploadして下さい。
  • SDカード用のデータ
    • SDカード用のデータはここに有ります。=>SDカード用データ
    • 解凍してSDカードに保存して下さい。

今回もズレ発生

今回もSPRITE表示にズレが発生しました。ESP32ボードマネージャーを2.0.18に上げた為かズレに対する対応が前回と若干違います。

前回は、構造体にダミー要素として整数配列 Int temp_no[10] を追加しましたが、今回は、 構造体にダミー要素としてbool変数 bool flg_temp と ダミー File型変数 pngfile1 を追加するとズレが無くなりました。相変わらず理由は分かりません。

次は

次回はここまで出番が無かったRTCと温湿度センサの登場です。RTCを使って時刻の表示、タイマー機能の追加を行いたいと思います。