Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MediaPlayer--如何分离旁白曲目?_Android_Audio_Video_Android Mediaplayer - Fatal编程技术网

Android MediaPlayer--如何分离旁白曲目?

Android MediaPlayer--如何分离旁白曲目?,android,audio,video,android-mediaplayer,Android,Audio,Video,Android Mediaplayer,我正在开发一款android应用程序,可以播放视频(使用视频视图)。该视频本应同时包含音乐(左和右)和旁白,但我希望能够有选择地关闭MediaPlayer中的旁白曲目 正确执行此操作的方法是使用mp4视频文件编码3个音频曲目(左右和旁白),然后使用取消选择曲目()关闭naration音频曲目吗 从文档中我不清楚MediaPlayer可以处理2个以上的音频曲目 如果音频曲目限制为2首,当我希望播放旁白曲目时,同时运行两个媒体播放器(使用seekTo()同步)是否有意义 谢谢。很抱歉打破了你的幻想,

我正在开发一款android应用程序,可以播放视频(使用视频视图)。该视频本应同时包含音乐(左和右)和旁白,但我希望能够有选择地关闭MediaPlayer中的旁白曲目

正确执行此操作的方法是使用mp4视频文件编码3个音频曲目(左右和旁白),然后使用取消选择曲目()关闭naration音频曲目吗

从文档中我不清楚MediaPlayer可以处理2个以上的音频曲目

如果音频曲目限制为2首,当我希望播放旁白曲目时,同时运行两个媒体播放器(使用seekTo()同步)是否有意义


谢谢。

很抱歉打破了你的幻想,但是

1) 你对“轨迹”的含义有误解。一个音轨可以有多个声道(例如,立体声音轨有左声道和右声道)。据我所知,立体声是目前Android AudioTrack实现的范围。我还没有检查OpenSL实现是否比JavaAPI更广泛

2) 一次只能选择一个音轨,因此您无法以您的思维方式同时拥有背景和旁白

3) 音频曲目只能在准备好的状态下选择(即,播放开始后不能选择)。报告中提到的这一限制并不理想,因此将来可能会发生变化。如果不是因为这个问题,您的目标可以通过流中编码的两个音频轨迹来实现,一个包含背景和旁白,另一个仅包含背景

您可能会发现很难同步两个
MediaPlayer
s,但我没有尝试过。也许这种方法对于您的情况是可以接受的,尽管预先警告
seekTo
方法不准确。这取决于文件的编码


如果我是你,我会尝试两个完整的编码视频,一个有旁白,另一个没有旁白。使用两个
MediaPlayer
s,并做好准备。当您想要切换时,请使用
seekTo
将正确的开关置于所需位置(或附近)。这样,您就不必担心同步问题。如果视频很大,这种方法可能会占用更多的资源。

很抱歉打破了你的泡泡,但是

1) 你对“轨迹”的含义有误解。一个音轨可以有多个声道(例如,立体声音轨有左声道和右声道)。据我所知,立体声是目前Android AudioTrack实现的范围。我还没有检查OpenSL实现是否比JavaAPI更广泛

2) 一次只能选择一个音轨,因此您无法以您的思维方式同时拥有背景和旁白

3) 音频曲目只能在准备好的状态下选择(即,播放开始后不能选择)。报告中提到的这一限制并不理想,因此将来可能会发生变化。如果不是因为这个问题,您的目标可以通过流中编码的两个音频轨迹来实现,一个包含背景和旁白,另一个仅包含背景

您可能会发现很难同步两个
MediaPlayer
s,但我没有尝试过。也许这种方法对于您的情况是可以接受的,尽管预先警告
seekTo
方法不准确。这取决于文件的编码


如果我是你,我会尝试两个完整的编码视频,一个有旁白,另一个没有旁白。使用两个
MediaPlayer
s,并做好准备。当您想要切换时,请使用
seekTo
将正确的开关置于所需位置(或附近)。这样,您就不必担心同步问题。如果视频较大,此方法可能会占用大量资源。

Dave谢谢。由于视频文件的总大小(>200mb),加载两个版本的视频是不切实际的。如果一首曲目同时具有左声道和右声道,我是否可以使用两个单独的音频曲目来准备视频,一个是左右混合了旁白,另一个是左右混合的音乐?然后用音轨选择来选择合适的音轨?对不起,我看到你回答了——谢谢,我想那会有用的。戴夫,谢谢。由于视频文件的总大小(>200mb),加载两个版本的视频是不切实际的。如果一首曲目同时具有左声道和右声道,我是否可以使用两个单独的音频曲目来准备视频,一个是左右混合了旁白,另一个是左右混合的音乐?然后用音轨选择来选择合适的音轨?对不起,我看到你回答了——谢谢,我想那会有用的。