有关Full-Duplex Audio Example v2.0例子的说明
来源:互联网 发布:mac光盘安装win7 编辑:程序博客网 时间:2024/05/17 04:13
这个例子的下载地址:
http://sw.nokia.com/id/8b3a6ed3-e833-4f7c-aee1-4c773196f894/S60_Platform_Full-Duplex_Audio_Example_v2_0_en.zip
这个例子同步播放和记录语音,通过话筒说的话再通过扬声器放出来,在电话的一端产生话音的反馈环路。话音经过实时的编码或者解码后再被处理,这种编码格式是音频硬件支持的格式。
这个例子支持s60 2nd sp2、sp3和s60 3nd。
一、重要文件和类:
inc/fullduplexenginebase.h
src/fullduplexengine.cpp
src/inpustreamthread.cpp
Symbian APIs: CMMFDevSound
MDevSoundObserver
Example classes: CFullDuplexEngine
CInputStreamThread
二、运行例子
(一)当程序启动后,首先显示“Init complete”。通过菜单项就能启动和停止语音流,在屏幕上同步显示当前状态和可能的错误信息。
支持的编解码器:
- AMR-NB (default after initialization)
- G.711
- G.729
- iLBC
(二)通过选项菜单“Options->Codec”能选择编解码器,需要注意的是有些设备不支持AMR-NB编码。
(三)利用两个CMMFDevSound实例,来实现全双工操作,一个实例是输入(录音),另一个是输出(播放)。一个线程处理输入语音流,主线程处理输出语音流,DevSound 对象读写一个语音缓冲区,这个缓冲区能被这两个线程访问。尽管全双工语音流不需要多线程来实现,但这两个线程还是通过信号灯实现语音流的同步。
三、有关说明
(一)在开始说话后如果有其它的任务运行,导致缓冲区变大,会造成语音中断或者在说话和听到话音之间的延迟。
(二)设置“custom preference / priority”的值能使设备支持全双工操作,但是,在s60 3nd中,使用非缺省的值需要MultimediaDD能力,而一个程序具备MultimediaDD能力需要ACS Publisher ID和制造商的支持,更多的信息请访问www.symbiansigned.com 和www.forum.nokia.com/testing。
(三)我们不能控制音频输出的过程,在s60 2nd的手机中,音频直接输送到耳麦,在s60 3nd的手机中,音频直接输送到扬声器,没有公开的API能用来控制这种行为。
(四)这个例子仅能在手机上运行,因为模拟器不支持全双工音频。
- 有关Full-Duplex Audio Example v2.0例子的说明
- A full-duplex audio player in C# using the waveIn/waveOut APIs
- 利用ns3做full duplex仿真的参考资料
- 关于开发板不断eth0: link up, 100Mbps, full-duplex, lpa 0x45E1 eth0: link down的问题
- Full-Duplex Channel over HTTP
- WebSocket: HTML5一种新的协议, 实现浏览器与服务器全 双工通信(full-duplex)
- About a full duplex ALSA application
- inner join,left join,right join,full join 的区别,用例子说明
- 转-inner join,left join,right join,full join 的区别,用例子说明
- inner join,left join,right join,full join 的区别,用例子说明
- inner join,left join,right join,full join 的区别,用例子说明
- Oracle_inner join,left join,right join,full join 的区别,用例子说明
- inner join,left join,right join,full join 的区别,用例子说明
- 一个使用FULL JOIN的例子
- 有关KernelRelocate的说明
- 有关volatile的说明
- 有关SQL Server 索引结构及其使用的说明和例子
- 有关SQL Server 索引结构及其使用的说明和例子
- 基于BREW的手机全局搜索方案
- 求测此项目成败与否,财运如何?
- thead tfoot
- Telefónica 支持MeeGo软件平台——为用户提供新闻, 本地化计算和通讯体验
- ORA-0131:Insufficient privileges
- 有关Full-Duplex Audio Example v2.0例子的说明
- DDK是什么,驱动是否都要用DDK写
- 郁闷啊
- Java session
- Editplus 3.12注册码
- Visual C#中的MDI编程实例讲解(转载)
- 网络.流媒体的,以后或许用的到!
- C# 验证IP地址、Email格式、URl网址
- Windows XP 背后隐藏的16个小窍门