“Test_04”
音频
使用AudioTest脚本控制Audio Source组件,在脚本中声明"music"和"se"之后,在unity中需要将音频资源拖拽到对应位置。
AudioTest
public class AudioTest : MonoBehaviour
{
// 声明音频
// AudioClip
public AudioClip music;
public AudioClip se;
// 声明播放器组件
private AudioSource player;
void Start()
{
// 获取播放器组件
player = GetComponent<AudioSource>();
// 赋值音乐片段
player.clip = music;
// 设置循环播放
player.loop = true;
// 设置音量
player.volume = 0.5f;
// 播放
player.Play();
}
void Update()
{
// 按空格键来控制声音的播放和暂停
if (Input.GetKeyDown(KeyCode.Space))
{
// 判断是否正在播放
if (player.isPlaying)
{
// 停止播放
//player.Stop();
// 暂停播放
player.Pause();
}
else
{
// 开始播放
//player.Play();
// 继续播放
player.UnPause();
}
}
// 点击鼠标左键播放特效
if (Input.GetMouseButtonDown(0))
{
// 播放特效(不需要再控制暂停/播放,直接播放完)
player.PlayOneShot(se);
}
}
}
视频
平面对象播放
- 在 ‘层级’ 中创建平面对象,在 ‘项目’ 中创建渲染器纹理;
- 在平面对象中添加 ‘Video Player’ 组件,渲染模式改为渲染器纹理;
- 将视频和渲染器纹理拖拽到组件中对应位置,并将渲染器纹理拖拽到场景中新建的平面上;
- 新建脚本 ‘VideoTest’ 脚本控制视频播放。
UI播放
- ‘层级’ 中创建UI原始图像。
- 将渲染器纹理和视频文件拖拽到 “Raw Image” 组件 和 "Video Player"组件中的对应位置;
- 同样可以使用脚本控制视频播放。
VideoTest
public class VideoTest : MonoBehaviour
{
// 声明视频组件
private VideoPlayer player;
void Start()
{
// 获取视频播放组件
player = GetComponent<VideoPlayer>();
// 唤醒程序时自动播放
player.playOnAwake = true;
// 循环播放
player.isLooping = true;
// 设置播放速度(倍速)
player.playbackSpeed = 1.0f;
// 控制音量(音频输出模式为”直接“时)
player.SetDirectAudioVolume(0, 0.5f);
// 直接播放视频
player.Play();
}
void Update()
{
// 按空格键来控制视频的播放和暂停
if (Input.GetKeyDown(KeyCode.Space))
{
// 判断是否正在播放
if (player.isPlaying)
{
// 停止播放
//player.Stop();
// 暂停播放
player.Pause();
}
else
{
// 开始/继续播放
player.Play();
}
}
}
}