gpt4 book ai didi

xml - Flex 中多首歌曲的问题 - AS3

转载 作者:行者123 更新时间:2023-12-03 02:27:54 29 4
gpt4 key购买 nike

我正在尝试创建一个迷你媒体播放器 AIR 应用程序,它允许用户查看通过外部 XML 文件加载的视频、图像和歌曲,同时还允许用户浏览自己的文件并通过查看器播放任何媒体。截至目前,我可以在单击图像缩略图时停止播放视频,但是当新视频开始时我无法停止播放任何声音。事实上,我什至无法改变歌曲。一旦你点击一首歌,它就会播放并且不会停止,并且不能被另一首歌替换。

这是我正在使用的代码:


// for audio
public var _channel:SoundChannel = new SoundChannel();
public var _sound:Sound = new Sound();



public function getDetails():void{
var mySelectedItem:File = tree.selectedItem as File;

var type:String;
type = mySelectedItem.url.substr(mySelectedItem.url.lastIndexOf("."))

switch (type)
{
case ".mp3":
_sound.load(new URLRequest(mySelectedItem.url));
_channel = _sound.play();
if (mainVideo.source == null){
// do nothing
} else {
mainVideo.pause();
}
break;

case ".jpg":
mainImage.source = mySelectedItem.url;
mainVideo.visible = false;
mainImage.visible = true;
if (mainVideo.source == null){
// do nothing
} else {
mainVideo.pause();
}
break;

case ".png":
mainImage.source = mySelectedItem.url;
mainVideo.visible = false;
mainImage.visible = true;
if (mainVideo.source == null){
// do nothing
} else {
mainVideo.pause();
}
break;

case ".flv":
mainVideo.source = mySelectedItem.url;
mainImage.visible = false;
mainVideo.visible = true;
mainVideo.play();
_channel.stop();
break;

case ".avi":
mainVideo.source = mySelectedItem.url;
mainImage.visible = false;
mainVideo.visible = true;
mainVideo.play();
_channel.stop();
break;

case ".mov":
mainVideo.source = mySelectedItem.url;
mainImage.visible = false;
mainVideo.visible = true;
mainVideo.play();
_channel.stop();
break;
}
}

public function getWebDetails(e:Event):void{
switch (e.currentTarget.getRepeaterItem().type as String)

{
//mp3s
case "song":
var isPlaying:Boolean;
isPlaying = false;
if (!isPlaying){
_sound.load(new URLRequest(e.currentTarget.getRepeaterItem().url));
_channel = _sound.play();
isPlaying = true;
} else if (isPlaying == true) {
_channel.stop();
isPlaying = false;
}
if (mainVideo.source == null){
// do nothing
} else {
mainVideo.pause();
mainVideo.visible = false;
mainImage.visible = true;
}
break;

//images
case "image":
mainImage.source = e.currentTarget.getRepeaterItem().url;
mainVideo.visible = false;
mainImage.visible = true;
if (mainVideo.source == null){
// do nothing
} else {
mainVideo.stop();
}
break;

case "video":
mainVideo.source = e.currentTarget.getRepeaterItem().url;
mainImage.visible = false;
mainVideo.visible = true;
mainVideo.play();
break;

}

}


我尝试创建一个 bool 值来控制何时播放音乐,认为它能够处理歌曲应该改变的事实,但我错了。

有任何想法吗?

谢谢。

编辑:

我还应该提到我在当前代码中遇到的错误:

错误:错误 #2037:以不正确的顺序调用的函数,或者之前的调用不成功。
在 flash.media::Sound/_load()
在 flash.media::Sound/load()
在 BrightEyes_mediaPlayer/getWebDetails()[C:\Users\Graham\Documents\y02s01\AVIS317 - FLEX\brightEyes\src\brightEyes_mediaPlayer.mxml:122]
在brightEyes_mediaPlayer/___brightEyes_mediaPlayer_Image3_click()[C:\Users\Graham\Documents\y02s01\AVIS317 - FLEX\brightEyes\src\brightEyes_mediaPlayer.mxml:187]

干杯

最佳答案

你知道,如果这是一个与 linux 相关的问题,你会得到一个 RTFM 作为答案。但相反,我只是将您重定向到 this一小段重要信息。然后给你以下建议:遇到问题总是先看语言引用。

关于xml - Flex 中多首歌曲的问题 - AS3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1938128/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com