unity3d笔记(4)——声音,视频播放控制

声音和视频是3d作品中不可或缺的元素。在unity3d中添加声音和视频元素,并且编写脚本实现声音和视频的控制播放是必要的操作。

1.首先给某个component组件添加Audio Source属性,定义为声音源,并且一般会给主摄像机添加Audio Listener定义为声音的听者。我在做的时候给场景中的一个音响模型添加了Audio Source的属性,并且因为选项为3D sound因此在场景中声音就有了在实际中的远近效果。勾选其中的Play on Awake自动播放之后,运行的时候就可以自动播放声音效果;

unity3d笔记(4)——声音,视频播放控制

2.编写脚本进行声音片段的播放,暂停,以及所播放的声音片段的选择的控制,所写的简单脚本如下:

#pragma strict
//引入声音源
@script RequireComponent(AudioSource)
//定义变量指向另一个声音片段资源
var SecondSong:AudioClip;

function Start () {
	audio.loop = true;
}

function OnGUI() {//设置点击GUI上的各个按钮所对应的事件
	if(GUILayout.Button("Play/Continue"))
	{
		if(!audio.isPlaying)
		{
			audio.Play();
		}
	}
	if(GUILayout.Button("Pause"))
	{
		audio.Pause();
	}
	if(GUILayout.Button("stop"))
	{
		audio.Stop();
	}
	if(GUILayout.Button("Play another song"))
	{
		audio.Stop();
		audio.PlayOneShot(SecondSong);
	}
}

在声音源的选项中定义脚本中变量所对应的声音片段:

unity3d笔记(4)——声音,视频播放控制

运行后的效果,可以用鼠标点击左上角GUI菜单的按钮来控制声音资源的播放,暂停,切换等等:

unity3d笔记(4)——声音,视频播放控制

3.对于视频的操作和声音差不多,不过视频操作的时候需要PRO版本,官网下的只要破解一下就可以了。 将视频资源拖拽到带有render属性的对象上面,我创建了一个plane用来播放视频片段

unity3d笔记(4)——声音,视频播放控制

然后编写脚本控制初始状态,设置为初始即播放,简单的脚本如下:

using UnityEngine;
using System.Collections;

public class AudioPlay : MonoBehaviour {
	public MovieTexture audioplay;

	// Use this for initialization
	void Start () {
		renderer.material.mainTexture = audioplay;
		audioplay.loop = true;
		audioplay.Play ();
	}
	// Update is called once per frame
	void Update () {
	
	}
}
运行一下即可看见效果

unity3d笔记(4)——声音,视频播放控制

至此实现了视频和声音资源的播放以及脚本的控制

unity3d笔记(4)——声音,视频播放控制

上一篇:Java基础22--IO--文件过滤器


下一篇:EntityFramework之领域驱动设计实践【服务Services】