3

次のFrameWorkSampleSourceコンストラクターを使用してSampleSourceインスタンスを初期化します。

File file = new File(path);
FileInputStream inputStream = new FileInputStream(file);
FileDescriptor fd = inputStream.getFD();
SampleSource sampleSource = new FrameworkSampleSource(fd, 0, file.length());

しかし、InputStreamExoPlayer を使用してプレイする必要があります。SampleSourceクラスを実装InputStreamし、コンストラクターでパラメーターとして受け取るインターフェイスが見つかりません。

4

1 に答える 1

3

ExoPlayer はこのように設計されていないため、これを実現する簡単な方法はないようです。開発者を引用するには:

「InputStream インターフェイスはメディア再生に適切なランダム アクセス動作を提供しないため、InputStream を直接ラップする実装は提供しません。これは、シークと一部のメディア形式がファイルの末尾にデータを配置する必要があるためです。再生の開始時に読み取ります。」

ここで彼の完全な答えを読んでください:

https://github.com/google/ExoPlayer/issues/1086

于 2016-06-15T08:27:12.493 に答える