`

关于flex添加音频的方法

阅读更多

参考:

http://bbs.airia.cn/thread-45114-1-1.html

http://www.bbs.cenfun.com/thread-8000-1-1.html

http://docs.huihoo.com/actionscript/as3/developer/zh_CN/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d1d.html

 

 写道

有些时候用CMP播放MP3时,会出现比如时间不正确,音调不正确,播放速率不正确等问题
这些一般都是由于MP3的编码格式不标准造成的,建议重新转一下格式
因为CMP采用Flash开发,目前的Flash Player对这些特殊编码MP3可能会产生以上问题

Flash player能很好的支持对MP3音频格式的播放和控制,但并不是所有的MP3编码格式都支持(播放正常)。
查阅了Flash帮助文档和搜索官方资料也都没有明确的说明,而来自网络的MP3又各式各样,很多网友疑问用CMP播放MP3时都遇到了播放加快或其他不正常现象,这是因为某些MP3编码格式Flash不支持导致。

Flash支持播放的MP3格式,编码采样率最好是44100Hz(或者它的倍减数),且为CBR(常数比特率)压缩

推荐最佳标准MP3音频编码格式:
44100Hz采样率+128Kbps比特率+双声道立体声 音质不错,文件大小也适宜

频率倍减的还有22000Hz和11000Hz,声道也可以采用单声道
不过音质较差,当然文件更小,推荐减少比特率来减小文件,如:
44100Hz采样率+64Kbps比特率+双声道立体声 低速网或需减少流量采用的最佳方案(可替换wma)

不兼容的例子:
1,一些特殊采样率(如32000,8000,64000)编码的MP3虽然能够播放,但是播放速度不对(播放加快,音调不对),自然时间也不正确,歌词也无法同步。

2,Flash播放器不能很好的识别VBR(可变比特率、动态比特率)编码的文件,会产生各种问题,要么是完全忽略,要么是静音,导致可以正常下载却不能播放。

3,Flash播放器也无法解决“假mp3文件”——即那种是mp3模式,但内容是用一些不标准的系统编码的音频数据。Microsoft微软推出的一些音频解码器能通过微软自己的ACM音频压缩器制作mp3文件,但Flash播放器却完全不能识别。

这是因为Flash Player播放一些非标准压缩或编码的Mp3时,在寻址上并不准确:

Sound. play(position);

要很好的对position进行定位,需要对mp3的格式有些限制,这里做了些实验,分别对以下编码格式的mp3进行快进寻址操作,看是否准确:

64kbps_11kHz.mp3 有问题
128kbps_11kHz.mp3 有问题
32kbps_22kHz.mp3 有问题
32kbps_24kHz.mp3 有问题
32kbps_32kHz.mp3 有问题
96kbps_32kHz.mp3 有问题

32kbps_44kHz.mp3 正常
64kbps_44kHz.mp3 正常
96kbps_44kHz.mp3 正常
112kbps_44kHz.mp3 正常
128kbps_44kHz.mp3 正常
192kbps_44kHz.mp3 正常
128kbps_48kHz.mp3 正常
192kbps_48kHz.mp3 正常

以上均采用CBR(常数比特率/恒定码率)压缩,由此可见寻址的精确与否和采样频率有关系。
当采样频率大于等于44kHz都正常(即44100Hz),而与编码质量关系不大,不管是32kbps到192kbps都寻址正常。
所以推荐大家压缩用于flash player播放的mp3时,一定使用44100Hz的采样频率。而文件大小和音效质量由编码率去确定。当然大家还可测试一下采用VBR(变码率)压缩的情况。

 <?xml version="1.0"?>

<!-- Simple example to demonstrate the SoundEffect effect. -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Declarations>
        <mx:SoundEffect id="mySounds" source="@Embed(source='assets/jazz.mp3')"/>
    </fx:Declarations>

    <s:Panel title="Sound Effect Example" width="75%" height="75%" >
        <s:VGroup left="20" right="20" top="20" bottom="20">

        <s:Label width="100%" color="blue"
            text="Click on the phone to hear the sound effect."/>

        <mx:Image id="flex" source="@Embed(source='assets/Nokia_6630.png')"
            mouseDownEffect="{mySounds}"/>

        </s:VGroup>
    </s:Panel>
</s:Application>
 

 

分享到:
评论

相关推荐

    flex 精简音频播放器

    在Flex中,我们可以为UI组件添加事件监听器,当用户点击图标时触发相应的播放方法。这可能涉及到使用Event类的dispatchEvent和EventListener接口。 至于导出嵌入网页,Flex应用程序可以编译成SWF格式,这是Adobe ...

    flex音乐播放器源代码

    开发者需要创建`NetStream`对象,然后将其与`VideoDisplay`关联,并调用`NetStream.play()`方法来开始播放音频。 6. **UI设计与交互** 使用MXML,开发者可以方便地定义界面布局和组件样式。同时,通过ActionScript...

    FLEX播放器 flex 开发AIR及Flex之mp3播放器教程

    总的来说,开发一个Flex和AIR的MP3播放器涉及到多个方面:理解Flex的MXML和ActionScript、掌握音频处理、设计用户界面、利用AIR特性以及可能的动画效果。通过这个教程,你应该能够逐步学会如何创建一个功能完备且...

    Flex wav播放

    标题“Flex wav播放”指的是使用Adobe Flex技术来播放WAV音频文件。Flex是基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。在Flex中处理音频,通常涉及使用Flash Player或Adobe AIR的内置...

    flex做的在线录音

    综上所述,使用Flex开发在线录音应用涉及到多个技术层面,包括客户端的音频处理、服务器通信以及用户界面设计。理解并掌握这些知识点,可以帮助你成功地构建一个功能完备、用户友好的在线录音系统。

    flex 设置背景音乐

    - `musicArr`初始化:这里仅添加了一个音乐文件路径作为示例。 - `playMusic`方法:如果音乐列表不为空,则开始播放第一首音乐,并监听播放结束事件以继续播放下一首。 6. **播放音乐**: ```actionscript ...

    flex 多个聊天实例

    实际学习时,你可能会从创建基本的Flex项目开始,然后逐步添加聊天功能,实现用户注册、登录,创建和加入聊天室,发送和接收消息,到最后的测试和部署。如果能访问到原文链接,将能得到更详尽的步骤和示例代码。

    baidu语音识别 flex 版实现

    要使用RecordMP3,首先需要将其导入到你的Flex项目中,然后创建一个RecordMP3对象,设置好录音参数如采样率、位深度等,最后调用startRecording()方法开始录音。 2. **连接百度语音识别API**:百度提供了丰富的语音...

    FLEX安全沙箱实用指南

    - **音频文件**:如MP3格式的音频文件,可以通过`flash.media.Sound.load()`方法加载。 - **视频文件**:包括FLV、F4V、MP4等格式的视频文件,可以通过`flash.net.NetStream.play()`方法播放。 #### 四、FLEX安全...

    flex 视频聊天 基于red5

    在"flex video.txt"文件中,可能包含了关于如何设置Flex项目、配置Red5服务器、建立RTMP连接、实现视频捕捉和播放、处理音频同步等相关步骤和代码示例。学习这些内容可以帮助开发者了解如何利用Flex和Red5构建一个...

    Flex播放器实例带源码的flex制作的播放器

    开发者会学习如何使用Flex的MediaElement组件,该组件能够处理音频和视频内容,并提供了丰富的API供开发者进行控制。 第二个实例可能深入到更复杂的主题,如视频流处理和自定义控制条。开发者可能需要了解如何设置...

    flex做的MP3,MP4播放器

    4. **自定义组件**:虽然Flex提供了基础的MediaElement组件用于媒体播放,但为了实现百度影音的仿制效果,可能需要自定义组件,比如添加进度条、音量控制、全屏切换等高级功能。 5. **事件处理**:在Flex中,事件...

    Effortless Flex 4 Development

    《Effortless Flex 4 Development》提供了许多关于如何优化Flex 4应用程序性能的策略,包括减少渲染时间、优化内存使用、提高网络请求效率等。此外,书中还介绍了如何使用调试工具和技术来识别和修复潜在的性能瓶颈...

    Flash(Flex)反编译及修改

    Flash和Flex是Adobe开发的两种相关...总之,Flash和Flex反编译是一个复杂但实用的过程,对于开发者来说,它提供了一种探索、学习和修改已存在SWF应用的方法。不过,应始终尊重他人的知识产权,并遵循合法使用的原则。

    flEX教程,与RED5连接

    Flex教程,特别是与RED5连接的相关知识,是Web开发领域中的一个重要主题,主要涉及Adobe Flex这一强大的富互联网应用程序(RIA)开发框架以及RED5这款开源流媒体服务器。在这篇文章中,我们将深入探讨Flex的基本概念...

    Flex视频会议系统

    在视频会议系统中,Flex可以用于设计用户友好的界面,实现参会者之间的视频和音频通信、聊天、屏幕共享等功能。 2. FMS服务器:Flash Media Server(FMS)是Adobe提供的一个流媒体服务器,专门处理Flash格式的音...

    Flex在线拍照功能

    `&lt;mx:VideoDisplay&gt;`或`&lt;s:VideoDisplay&gt;`(取决于使用的Flex SDK版本)可以添加到布局中,并绑定到`Camera`对象。 ```xml ``` 4. **BitmapData对象**:为了捕获帧图像,我们需要创建一个`BitmapData`对象,...

    flex 视频录制于推流

    ### Flex中的关键类与方法 - **NetConnection**: 用于建立与服务器之间的网络连接。 - **NetStream**: 实现了视频录制、播放和推流的核心功能。 - **Video**: 显示视频内容的组件。 - **Camera**: 获取摄像头输入的...

    flex动态添加资源

    综上所述,Flex中的动态添加资源是一种高效且灵活的方法,它可以帮助开发者创建体积更小、响应更快的应用程序,同时保持良好的用户体验。通过熟练掌握和运用这一技术,开发者能够更好地优化Flex项目,提高应用的性能...

Global site tag (gtag.js) - Google Analytics