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

  

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

(貌似只支持Win10和Android设备)

 

 

一,播放MKV文件

 

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

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

 

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

      -----右键 - > AVProVideo - >MediaPlayer   

 

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

      -----右键 - > UI - >Canvas - >CreateEmpty

      为该物体添加组件Display uGui     

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

      将第一步Hierarchy面板中创建的MediaPlayer  赋值给组件Display  uGui组件上的媒体播放器

 

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为所要播放的视频编码格式

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

 

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

      ---- BROWSE --->选择MKV文件

 

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

 

 

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

 

二,切换音轨

 

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

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

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

      ---- public static IMediaControl m_Control;

public static IMediaControl m_Control;

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

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

 

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

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

    引用RenderHeads.Media.AVProVideo命名空间

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

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

     创建一个按钮,每次点击调用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);
    }
	
}

 

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

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

 

  by:一万六 -

 转载请注明出处

你可能感兴趣的:(Unity3d插件)