AndroidアーキテクチャまたはAPIに、組み込みの歌詞を読むMP3プレーヤーを作成するのを防ぐ何かがありますか?

StackOverflow https://stackoverflow.com/questions/4271099

  •  28-09-2019
  •  | 
  •  

質問

特定のmp3ファイルを再生するとき(からのレッスンなど Japanesepod101.com)iPod Touchには、MP3ファイルに埋め込まれた歌詞またはトランスクリプトがメディアプレーヤーに表示されます。歌詞は、MP3メタデータのID3/ID4タグとして保存されていると思います。

これは非常に便利な機能であると思いますが、私は一人ではないと思います。それにもかかわらず、Stock Androidメディアプレーヤーも、私が市場からダウンロードした他のメディアプレーヤーもこれをサポートしていないようです。 Nexus Oneで機能を取得する方法を見つけることができませんでした。

この機能は、Android開発の学習を検討しているので、埋め込まれた歌詞やメモを表示するシンプルなメディアプレーヤーを書くことができるほど重要です。しかし、他の誰もこれをしていないように見えるという事実は、私を不思議に思うでしょう - それは可能ですか? AndroidアーキテクチャまたはAPIに、MP3ファイルから歌詞情報を読み取り、表示することを難しくしたり不可能にしたりするものはありますか? 私は学習プロセスに深く入り込み、私が目指していることを簡単に行えないことを知るのが嫌いです。 (つまり、他のすべてが失敗した場合、私は自分のMP3デコダーを書くことができると思いますが、それは今すぐ経験するよりも多くのトラブルです)。

私はすでにこの質問をしました Android愛好家スタック交換ベータサイト, 、しかし、振り返ってみると、私はそれがよりプログラミングの質問であると判断し、ここで尋ねる方が良いと判断しました。

役に立ちましたか?

解決

ええ、間違いなくプログラミングの質問です。 ID3 Specを読んだ私の簡単な経験から、ID3タグを解読することは完全なPITAであると思われます。 Androidで利用できるmp3タグ編集アプリがあるので、私はそれができると確信しています(サポートの歌詞であろうとなかろうと、私は知りません)。

ID3v2.3は、ヘッダーのSYLTフレームとUSLTフレームを介して同期されていない歌詞の両方をサポートしているようです。私はそれがまさにそのような過小使用されていないので、そうするためにほとんどの努力に値するものではないと思います。購入したMP3はこの情報を持ち歩かない(私はいつも疑問に思っていたのかといつも思っていますか?)。したがって、それらは手動で追加する必要があります(または歌詞サービスAPIを介して自動的に自動的に追加する必要がありますが、それにはさらに多くのコーディングが含まれます)。

ここ ID3v2.3仕様は、さらに詳しく調べたい場合は...

他のヒント

問題は、ほとんどの人が組み込みのMP3再生メカニズムを使用することであり、これは歌詞ディスプレイをサポートしたり、叙情的なディスプレイをしている他のものと同期し続けることも非常に簡単ではないかもしれません。

ですから、それが自分のMP3デコードである何かを書く必要があるかもしれません。

ほとんどの場合、これはネイティブコードで行われたいと思うでしょう。一方、Androidでは、オーディオ出力(およびOpenGLを使用しない限り、ビデオディスプレイを使用しない限り)をJavaから行う必要があります。したがって、ネイティブライブラリを使用してデータをデコードするためのかなりの量の作業を見て、その後、Javaからの再生と表示のためにそれを派遣します。

それで、あなたの質問に答えるために - それは可能ですか?間違いなく

Android APIによって簡単になりましたか? - あまり

ID3タグでUSLTを読むためのAndroidサポートを提供する新しい機能リクエストを追加しました。これにより、ネイティブとサードパーティの音楽プレーヤーが歌詞を表示できるようになります。この機能が必要な場合は、以下にリクエストを主演し、コメントを投稿してください。

http://code.google.com/p/android/issues/detail?id=32547

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top