Android MediaPlayer--如何分离旁白曲目?
我正在开发一款android应用程序,可以播放视频(使用视频视图)。该视频本应同时包含音乐(左和右)和旁白,但我希望能够有选择地关闭MediaPlayer中的旁白曲目 正确执行此操作的方法是使用mp4视频文件编码3个音频曲目(左右和旁白),然后使用取消选择曲目()关闭naration音频曲目吗 从文档中我不清楚MediaPlayer可以处理2个以上的音频曲目 如果音频曲目限制为2首,当我希望播放旁白曲目时,同时运行两个媒体播放器(使用seekTo()同步)是否有意义Android MediaPlayer--如何分离旁白曲目?,android,audio,video,android-mediaplayer,Android,Audio,Video,Android Mediaplayer,我正在开发一款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),加载两个版本的视频是不切实际的。如果一首曲目同时具有左声道和右声道,我是否可以使用两个单独的音频曲目来准备视频,一个是左右混合了旁白,另一个是左右混合的音乐?然后用音轨选择来选择合适的音轨?对不起,我看到你回答了——谢谢,我想那会有用的。