私のコードのある時点で、アプリは.m3u8ファイルを指すURLを見つけます。これは次に起こることです:
mVideoView.setVideoURI(Uri.parse(feed.getUrl().toString())); // feed.getUrl returns the url
mVideoView.start();
また、Android3.1以降ではFINEで動作します。httpsを使用しているため、以前のバージョンにはありません(これを参照してください:http://developer.android.com/guide/appendix/media-formats.html)
そこで、私が行ったのは、Android 2.2以降用のアプリの新しいバージョンを作成しました。これは、私にとって簡単になるはずのライブラリであるvitamioを使用しています。ただし、(android.widget.VideoView)がそれを完全に処理した場合、(io.vov.vitamio.widget.VideoView)はストリームのロードに非常に長い時間がかかり、クラッシュ中にこれを言うことになります。
しかし、このURLを読み込もうとすると:http ://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8 正常に動作します!
使用する必要のあるURLを共有できませんが、これが指している.m3u8の内容は次のとおりです。
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=264000
playlist.m3u8?session=003016302664236&index=0
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1364000
playlist.m3u8?session=003016302664236&index=1
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=44000
playlist.m3u8?session=003016302664236&index=2
したがって、これとAppleのサンプルファイルの主な違いは、httpsを使用していることです。私のファイルは、他の.m3u8ファイルを指しています(Appleの.m3u8は.tsファイルを指しています)。どちらも使用しているようです。 AACオーディオ。
問題はvitamioに関連しているようです。このクラッシュを回避するにはどうすればよいですか?どうもありがとうございます。