unity3d中利用AVPro video播放mkv视频切换音轨,多音轨切换,实现ktv开启或关闭原唱功能

  

unity3d利用插件AVPro Video播放mkv格式视频、切换音轨,实现ktv点歌伴唱功能

(貌似只支持Win10和Android)

一、播放mkv文件

首先将高版本(低版本好像不支持mkv)插件AVPro o video 1.9.7导入unity

(AVPro o video 1.9.7 ,某宝55,挡人财路犹如杀人父母,插件我就不提供资源了,请支持正版,手动斜眼)

1.   在Hierarchy面板中新建一个MediaPlayer   

      -----   右键-->AVPro Video-->Media Player

2.   在Hierarchy面板中新建一个Canvas,然后在Canvas中新建一个空物体, 改名为Display ,其中width和height改为视频的宽高

扫描二维码关注公众号,回复: 4488108 查看本文章

      -----    右键-->UI-->Canvas-->Create Empty

      为该物体添加组件 Display uGui     

      -----   选中Display-->AddComponent-->搜索 Display uGui

      将第一步Hierarchy面板中创建的Media Player 赋值给组件Display uGui组件上的Media Player

3.  选中Hierarchy面板中的MediaPlayer,找到挂载的MediaPlayer脚本,将Preferred Video API 改成Direct Show

     将Audio Mode 改为Facebook Audio 360

     ----- Platform Specific-->Windows-->Preferred Video API-->Direct Show

     ----- Platform Specific-->Windows-->Audio Mode->Facebook Audio 360

     其中 Channel Mode为所要播放的视频编码格式

4.   选中自己要播放的mkv视频,然后运行场景

      ----BROWSE--->选择mkv文件

此时已经可以播放mkv格式视频了,但是如何切换音轨实现开关闭原唱的功能

二、切换音轨

  1.  找到MediaPlayer脚本,点击编辑

      ----点击齿轮--->Edit Script

      此时我们需要找到脚本中149行的m_Control,改一下访问级别,改为公有的静态变量

      ----public static IMediaControl m_Control;

public static IMediaControl m_Control;

      

2.  实现点击按钮,开启和关闭原唱音轨来回切换

    新建一个c#脚本,取名为MultiAudioTrackControl,将脚本挂载MainCamera上

    引用 RenderHeads.Media.AVProVideo 命名空间

    SetAudioTrack()方法即为切换音轨,其中int型参数为音轨的编号

    因为本测试视频已知有两条音轨,所以每点击一次按钮,index在0和1之间切换

     创建一个Button,每次点击调用BtnClick()方法

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using RenderHeads.Media.AVProVideo;

public class MultiAudioTrackControl : MonoBehaviour
{
    int index;
    public void BtnClick()
    {
        index = (index + 1) % 2;
        MediaPlayer.m_Control.SetAudioTrack(index);
    }
	
}

   运行后,点击Button可实现音轨来回切换

 到此实现 在unity3d利用插件AVPro Video播放mkv格式视频、切换音轨

  by:一万六--

 转载请注明出处

猜你喜欢

转载自blog.csdn.net/GottaYiWanLiu/article/details/84982704