Android OS > 4.0 (OS を含む) 用の Android アプリケーションを開発しています。次のようなサンプル m3u8 ファイルがあります。
#EXTM3U
#EXT-X-TARGETDURATION:56
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:28, no desc
ulr/audio/file.mp3
#EXTINF:28, no desc
ulr/audio/file.mp3
#EXT-X-ENDLIST
次のコードを使用して、そのファイルを再生しようとしています
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setOnErrorListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try
{
mMediaPlayer.setDataSource(uri);
} catch (IllegalArgumentException e)
{
e.printStackTrace();
} catch (SecurityException e)
{
e.printStackTrace();
} catch (IllegalStateException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
mMediaPlayer.prepareAsync();
私のonPrepared()
方法は次のとおりです。
public void onPrepared(MediaPlayer player)
{
player.start();
}
しかし、コードは最初に に来て、すぐににonPrepared()
行きます。onError()
what=1
extra=-1010
この質問が何度も尋ねられていることは知っています (たとえば、ここ、ここ、ここ) 。 Vitamioについても知っていますが、実装の何が問題なのかを知りたいです。作成した m3u8 ファイルに何か問題がありますか? 私はそのドキュメントを調べましたが、すべてが正しいようです。
誰かがこの問題に光を当てることができれば、本当にうれしいです.
-前もって感謝します