你好,请问在unity3d里通过按钮控制音乐的播放与暂停的具体步骤是什么呀?在下是新手,所以不是很懂~
2个回答
展开全部
jave我没写,你先按照我这个参考着做吧!C#脚本.
在OnGUI中写的,你可以把有用的替换成你自己的.
public AudioSource Sound;//监视面板赋值
float curPos; //当前播放位置
float oldPos; //前一帧播放位置
float picth; //音调控制
bool play; //播放控制
bool loop; //循环控制
float size; //拖动比例
void Start()
{
loop = Sound.loop; //获取是否循环
size = 100 / Sound.clip.length; //计算比例
picth = 1; //音调默认为正常
}
void OnGUI()
{
oldPos = Sound.time * size;
if (curPos - oldPos > size || oldPos - curPos > size)
{
if (curPos - oldPos > Sound.clip.length)
{
curPos = oldPos;
}
Sound.time = curPos / size;
oldPos = curPos;
}
curPos = GUILayout.HorizontalScrollbar(oldPos, 1, 0, 100);
//播放控制
GUILayout.BeginHorizontal();
play = Sound.isPlaying;
if (play)
{
if (GUILayout.Button("暂停"))
{
Sound.Pause();
play = false;
}
}
else
{
if (GUILayout.Button("播放"))
{
Sound.Play();
play = true;
}
}
if (GUILayout.Button("停止"))
{
Sound.Stop();
curPos = oldPos = 0;
}
//循环控制
if (loop)
{
if (GUILayout.Button("单曲循环"))
{
loop = false;
}
}
else
{
if (GUILayout.Button("播放一遍"))
{
loop = true;
}
}
Sound.loop = loop;
GUILayout.EndHorizontal();
//音调控制
picth = GUILayout.HorizontalScrollbar(picth * 40, 0.1f, 0, 100) / 40;
Sound.pitch = picth;
}
在OnGUI中写的,你可以把有用的替换成你自己的.
public AudioSource Sound;//监视面板赋值
float curPos; //当前播放位置
float oldPos; //前一帧播放位置
float picth; //音调控制
bool play; //播放控制
bool loop; //循环控制
float size; //拖动比例
void Start()
{
loop = Sound.loop; //获取是否循环
size = 100 / Sound.clip.length; //计算比例
picth = 1; //音调默认为正常
}
void OnGUI()
{
oldPos = Sound.time * size;
if (curPos - oldPos > size || oldPos - curPos > size)
{
if (curPos - oldPos > Sound.clip.length)
{
curPos = oldPos;
}
Sound.time = curPos / size;
oldPos = curPos;
}
curPos = GUILayout.HorizontalScrollbar(oldPos, 1, 0, 100);
//播放控制
GUILayout.BeginHorizontal();
play = Sound.isPlaying;
if (play)
{
if (GUILayout.Button("暂停"))
{
Sound.Pause();
play = false;
}
}
else
{
if (GUILayout.Button("播放"))
{
Sound.Play();
play = true;
}
}
if (GUILayout.Button("停止"))
{
Sound.Stop();
curPos = oldPos = 0;
}
//循环控制
if (loop)
{
if (GUILayout.Button("单曲循环"))
{
loop = false;
}
}
else
{
if (GUILayout.Button("播放一遍"))
{
loop = true;
}
}
Sound.loop = loop;
GUILayout.EndHorizontal();
//音调控制
picth = GUILayout.HorizontalScrollbar(picth * 40, 0.1f, 0, 100) / 40;
Sound.pitch = picth;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询