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

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

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


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);
	}
}

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

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


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


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

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 () {
	
	}
}
运行一下即可看见效果


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值