android 使用vitamio播放mkv檔案實現音軌切換
阿新 • • 發佈:2019-02-09
最近公司需要開發一款能夠播放mkv檔案格式的視訊,並且可以切換音軌,實現原唱和伴奏功能,在網上找了很長時間才找到,親測實用,以下是程式碼實現,希望對大家有用。
ps:如果找不到getAudioTrackMap方法,可能需要去vitamio官網下載最新sdk。
private boolean isAccompany = fasle;
public void switchTrack() {
SparseArray<MediaFormat> audioTrackMap = videoView.getAudioTrackMap("utf-8");
android.util.Log.d(TAG, "audioTrackMap : " + audioTrackMap.size());
if (audioTrackMap.size() <= 0) {//如果是雙音軌size應該等於2
return false;
}
for (int size = audioTrackMap.size() - 1; size >= 0; size--) {
int key = audioTrackMap.keyAt(size);//2伴奏 1 取消伴奏
if (!isAccompany && key == 2 ) {//isAccompany 標記當前是否是伴奏狀態
videoView.setAudioTrack(key);
videoView.setSubTrack(key);
isAccompany = true;
} else if (isAccompany && key == 1) {
videoView.setAudioTrack(key);
videoView.setSubTrack(key);
isAccompany = false ;
}
}
}