`

Flash AS3[转载]Error #2037: 函数调用序列不正确,或前面的调用不成功。

    博客分类:
  • Flex
阅读更多
Error #2037: 函数调用序列不正确,或前面的调用不成功。

这个错误,在网上搜索了下,没有找到很明显的实质解决办法,于是找来以前自己学习时做的DEMO.
Error #2037:
Sound对象只允许被load一个声音流,即使close()了也不能加载另一个声音.
一旦对某个 Sound 对象调用了 load(),就不能再将另一个声音文件加载到该 Sound 对象中。 若要加载另一个声音文件,请创建新的 Sound 对象。
这是网上的描述,但像我这种不喜欢看书的人,还是找不到光明,最后发现是sound要再load时,需要重新new下它,只有两天班就可以开长假了,所以字里行间都静不下心来揣摩了。
实际是只要一句:
Error #2037:
Sound对象只允许被load一个声音流,即使close()了也不能加载另一个声音.
一旦对某个 Sound 对象调用了 load(),就不能再将另一个声音文件加载到该 Sound 对象中。 若要加载另一个声音文件,请创建新的 Sound 对象。

它的意思是归纳为一句就是:
var yoursound:Sound=new Sound();----全局定义
yoursound=new Sound();----再导入时定义

恼人的[Error #2037: 函数调用序列不正确,或前面的调用不成功。]就不会再出现了.

顺便贴下自己的

import flash.display.MovieClip;
import flash.display.Sprite;
import flash.errors.IOError;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.events.ProgressEvent;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;

var snd:Sound=new Sound();;
var sndchn:SoundChannel;
var i:int=1;
var tmp:String = "http://10.1.3.16/imgs/1-"+String(i)+".mp3";


var _btn:Sprite= new Sprite();
_btn.graphics.beginFill(0xff0000);
_btn.graphics.drawRect(0, 0, 30, 30);
_btn.graphics.endFill();
_btn.width = 100;
_btn.height = 100;
_btn.x = 10;
_btn.y = 10;
//_btn.buttonMode = true;
addChild(_btn);
_btn.addEventListener(MouseEvent.CLICK, clickhandle);



function clickhandle(e:MouseEvent):void {
playmp3(tmp);

}

function playmp3(tmp:String):void
{
var mp3url:URLRequest = new URLRequest(tmp);
snd = new Sound();          
snd.addEventListener(ProgressEvent.PROGRESS, onPrg);
snd.addEventListener(IOErrorEvent.IO_ERROR, onError);
snd.load(mp3url);
trace("mp3: "+mp3url.url);
}

function onError(e:IOErrorEvent):void
{
trace("MP3载入过程发生异常!");
}

function onPrg(e:ProgressEvent):void
{
var pct:int = Math.round(snd.bytesLoaded * 100 / snd.bytesTotal);
trace("进度:" + pct + "%");
if (pct > 5 && sndchn == null)
{

sndchn = snd.play();
sndchn.addEventListener(Event.SOUND_COMPLETE, onPlayend);
}
}


function onPlayend(e:Event):void
{
trace("播放完成");
sndchn.stop();
sndchn = null;
tmp="http://10.1.3.16/imgs/1-"+String(i++)+".mp3";
playmp3(tmp);
}

摘自:http://blog.sina.com.cn/s/blog_6c76f84501015x6y.html
分享到:
评论

相关推荐

    python常用的公共方法

    内置函数是Python语言的一部分,可以直接调用而无需导入任何模块。 ##### 1. `len()` 函数 `len()`函数用于获取对象(如字符串、列表、元组、集合、字典等)的长度。 **示例代码:** ```python # 获取字符串长度 ...

    tcl实例入门教程(包括常用的socket多线程xml解析数据库操作大量实例)

    - **`for` 循环**: 按照特定的序列执行一系列指令。 - **`incr` 命令**: 用于自增或自减变量。 #### 例子: ```tcl for {set i 0} {$i puts $i } ``` ### 7. 过程定义与调用 #### 讲解: - **过程定义**: 使用 `...

    python字符串常用函数.pdf

    它不能被调用或初始化,但是它可以使用来测试一个对象是否是 str 或 unicode 的实例。 例如: ``` isinstance(obj, basestring) ``` 7. bool([x]):将一个值转换为 Boolean,使用标准的真测试程序。如果 x 是假或...

    DBus_C_API_Lowlevel

    - **方法**:类似于函数调用,可以从一个进程发送到另一个进程。 - **信号**:一种发布/订阅模型,一个进程可以发出信号,其他进程可以监听并响应。 2. **DBus连接和会话**: - **连接管理**:使用`dbus_bus_get...

    c++语言的错误对照表

    **解决方法**: 确认调用的是一个已声明的函数。例如:`sqrt(s * (s - a) * (s - b) * (s - c));`。 #### error C2065: 'xxx': Undeclared identifier **描述**: 标识符 `xxx` 未声明。 **解决方法**: 确认所有使用...

    VC++常见错误一览表

    - 如果文件确实不存在,请创建缺失的文件或更新包含指令指向正确的文件。 #### 3. error C2011: 'C……': 'class' type redefinition 此错误表示同一个类被多次定义,通常是在多个头文件中重复定义了相同的类。 - ...

    13 个你可能未使用过的 Python 技巧!.docx

    当尝试访问字典中不存在的键时,默认情况下会引发`KeyError`。为了避免这种情况,可以使用`get()`方法。 - **基本用法**: - `dict.get(key[, default])`:如果`key`存在于字典中,则返回对应的值;否则返回`...

    最常见的20种VC++编译错误信息

    2. `fatal error C1083`: 无法打开包含文件,表示指定的头文件不存在或路径不正确。 解决方法:检查文件名和路径,确保它们正确无误,并且文件存在于指定位置。 3. `error C2011`: 类型被重新定义,通常是因为同一...

    C++Builder函数一览

    ### C++Builder函数一览 #### 文件:ActnList.hpp中的函数 - **CreateAction** 功能:此函数用于创建一个指定类型的Action,并且它将会显示在Action List Editor(动作列表编辑器)中,方便开发者进行管理和配置...

    VC++6.0常见错误提示

    - 括号不匹配,如函数调用或表达式中的圆括号`()`未正确关闭。 - 注释符`/*...*/`未正确闭合。 #### 三、fatal error C1083: Cannot open include file: 'xxx': No such file or directory - **中文对照**:...

    STM32F4xx-StdPeriph-Driver STM32F4标准库函数

    每个功能模块都有详细的API函数供开发者调用,同时,库还提供了示例代码,帮助开发者理解如何正确使用这些函数。 在使用STM32F4标准库时,需要注意以下几点: - 库文件的初始化:在项目开始时,需要调用相应外设的...

    C++常见错误中英文对照表

    - 在函数调用或表达式中,方括号没有成对出现。 - 注释符号`/*...*/`没有正确闭合。 #### 3. fatal error C1083: Cannot open include file: 'xxx': No such file or directory - **英文描述**: `fatal error C...

    AS3.0_AS3殿堂之路_笔记[七月经典]

    ### AS3.0_AS3殿堂之路_笔记[七月经典] #### 第2章 ActionScript 3 语言基本元素 本章节将深入探讨ActionScript 3 (AS3) 中的基础语法及核心概念,为后续学习奠定坚实的理论基础。 ##### 2.1.2 数据类型概述 在...

    C#代码与javaScript函数的相互调用

    理解如何在C#和JavaScript之间进行函数调用是提升Web应用程序性能的关键。 ### 一、C#到JavaScript的调用 #### 1. ASP.NET AJAX(ASP.NET AJAX Control Toolkit) ASP.NET AJAX提供了一个名为`PageMethods`的功能...

    Introduction to python3

    如果系统已经安装了 Python3,并且正确配置了环境变量,则可以在终端或命令提示符下直接使用该命令。 **示例代码**: ``` $ python3 Python 3.9.1 (default, Dec 10 2022, 12:17:38) [GCC 9.3.0] on linux Type ...

    AS3跳转url链接

    首先,我们要了解AS3中的`navigateToURL()`函数,它是用来打开一个新的浏览器窗口或在当前窗口中加载URL的关键方法。以下是一个简单的示例,展示了如何使用`navigateToURL()`函数来跳转到一个网页: ```...

    Ajax调用net后台函数

    **Ajax调用.Net后台函数详解** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。在C# ASP...

    语法分析&&编译原理实验

    输入单词串,以“#”结束,如果是文法正确的句子,则输出成功信息,打印“success”,否则输出“error”。 三、 结果验证 1. 输入:begin_a:=9;_x:=2*3;_b:=a+x_end# 输出:success! 2. 分别验证其他错误(至少2个...

Global site tag (gtag.js) - Google Analytics