3

m3u8 オーディオ ストリームで MediaPlayer を使用しています。これにより、ログ エラー メッセージが表示されます。Error(1, -1010)

エラーコードを見ると、最初の引数は問題ないようです: https://github.com/android/platform_external_opencore/blob/master/pvmi/pvmf/include/pvmf_return_codes.h

ただ-1010、変です。

アップルビデオm3u8のURLを使用すると、うまく機能します! これは URL です: http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8

私が使用しているコードは簡単です:

MediaPlayer mediaPlayer = new MediaPlayer();
try {
    mediaPlayer.setDataSource("http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8");
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mediaPlayer.prepare();
    mediaPlayer.setOnPreparedListener(this);
    mediaPlayer.setOnErrorListener(this);
    mediaPlayer.setOnCompletionListener(this);
    mediaPlayer.start();
} catch (IllegalArgumentException e1) {
    e1.printStackTrace();
} catch (IllegalStateException e1) {
    e1.printStackTrace();
} catch (IOException e1) { 
    e1.printStackTrace();
}

オーディオのみのストリームに制限があるかどうか知っている人はいますか? 複数の形式と異なる拡張子を使用しました。

その他の質問: 他のストリームをテストできるように、m3u8 オーディオ ストリームの URL を知っている人はいますか?

4

1 に答える 1

1

私は現在、まさにこのテーマに取り組むプロジェクトに参加しています。これがあなたの質問に実際に答えているわけではないことはわかっていますが、洞察のために、Android 4.0以降でさえ、M3U8のサポートはせいぜいむらがあり、最悪の場合はひどいものです.

例えば:

  • Nexus 7 は Akmai で失敗し、UStream で動作します
  • Droid RAZR は、Akmai と UStream の両方で動作します。

クラス拡張機能を介してライブラリにパッチを適用する (および他のすべての Android マイナー バージョンに .so を使用する) までは、SDK/NDK のみのソリューションは見つかりませんでした。プロジェクトで 1 か月の試行錯誤を繰り返した後、あきらめました (コストがかかりすぎるため)。

私たちが実装したソリューションは次のとおりです。SDK MediaPlayer を試してください。それが失敗した場合は、FFMPEG ベースのプレーヤーを使用します (dranger、ffplay、android-fplayer、および dolphin-player をインスピレーションとして使用して、社内で開発されました)。

于 2012-08-30T19:49:56.730 に答える