📄 releasenotes.txt
字号:
--------------------------------------------------------------------------------
S60 Platform: Full-Duplex Audio Example v2.0
This example application plays and records audio simultaneously, reading
from the microphone and writing to the earpiece/speaker, creating a local
audio feedback loop. Audio is processed in encoded format, using real-time
encoding/decoding support from audio hardware.
The example supports Nokia抯 S60 2nd Edition, Feature Pack 2 and Feature
Pack 3 devices, as well as S60 3rd Edition devices.
Note for VoIP developers:
For VoIP applications, this example is only suitable for S60 2nd Edition and for S60 2nd Edition FP2 and FP3 devices.
VoIP applications on S60 3rd Edition and newer releases should use Audio Proxy Server (APS).There is a more suitable
example in the Audio Proxy Server v2.3 package. This SDK plug-in is available for download at:
http://www.forum.nokia.com/info/sw.nokia.com/id/029f9e6e-b7cc-4c39-8104-72a58c2209ec/APS_v2_3_S60_3rd_S60_3rd_FP1.zip.html
--------------------------------------------------------------------------------
PREREQUISITES
Symbian OS key concepts
Audio streaming on Symbian OS
Multitasking and threads
--------------------------------------------------------------------------------
IMPORTANT FILES AND CLASSES
inc\fullduplexenginebase.h
src\fullduplexengine.cpp
src\inpustreamthread.cpp
Symbian APIs: CMMFDevSound,
MDevSoundObserver
Example classes: CFullDuplexEngine,
CInputStreamThread
--------------------------------------------------------------------------------
RUNNING THE EXAMPLE
Running the example is simple. After starting the application, the status
text should read "Init complete." Full-duplex streaming can be started and
stopped from the Options menu. Status information and possible errors are
displayed on screen.
Supported codecs:
- AMR-NB (default after initialization)
- G.711
- G.729
- iLBC
The codec to use can be selected from the Options->Codec menu. Note that some
devices may only support AMR-NB encoding.
Full-duplex operation is achieved by using two CMMFDevSound instances, one
for input (record) and one for output (playback).
The input stream runs in its own thread, while output streaming is
done in the main thread. DevSound objects write to/read from a single
audio buffer, which is shared between the threads.
Two threads are used to synchronize the streams with semaphores.
Multi-thread implementation is not a requirement for full-duplex streaming,
however.
--------------------------------------------------------------------------------
KNOWN ISSUES
Running other CPU-intensive tasks during streaming may cause skips in the
audio or a delay between the input and output streams because the number of
buffered frames increases. (Frame dropping should be implemented to
control the latency.)
Full-duplex operation is enabled by using custom preference / priority
values. However, on S60 3rd Edition, using non-default values also requires
MultimediaDD capability. Signing an application with MultimediaDD capability
requires an ACS Publisher ID and support from the manufacturer. For more information,
visit www.symbiansigned.com and www.forum.nokia.com/testing.
Audio output routing cannot be controlled. On S60 2nd Edition devices, audio is
played routed to the earpiece by default. On S60 3rd Edition devices, audio is
routed to the speaker. There is no public API that could be used for
controlling this behavior.
This example can only be run on target devices, because the emulators do not
support full-duplex audio.
As this example does not use APS, it is not suitable for VoIP applications in S60 3rd Edition and
newer releases. There is a more suitable example in the Audio Proxy Server v2.3 package.
This SDK plug in is available for download at:
http://www.forum.nokia.com/info/sw.nokia.com/id/029f9e6e-b7cc-4c39-8104-72a58c2209ec/APS_v2_3_S60_3rd_S60_3rd_FP1.zip.html
--------------------------------------------------------------------------------
BUILD & INSTALLATION INSTRUCTIONS
MOBILE DEVICE (S60 3rd Edition)
------------------------------
Go to /FullDuplexEx/group
bldmake bldfiles
abld build gcce urel
Go to /FullDuplexEx/sis
Edit the fullduplexex_3rd_ed.pkg's paths to match those on your system.
makesis fullduplexex_3rd_ed.pkg
Sign the SIS package:
- Signing an application with MultimediaDD capability requires an ACS Publisher
ID and approval from the manufacturer. For more information, visit the following
Web sites:
www.symbiansigned.com
www.forum.nokia.com/testing
Install the signed .sis file to a device.
MOBILE DEVICE (S60 2nd Edition)
-------------------------------
Go to /FullDuplexEx/group
bldmake bldfiles
abld build thumb urel
Go to /FullDuplexEx/sis
Edit the fullduplexex_2nd_ed.pkg's paths to match those on your system.
makesis fullduplexex_2nd_ed.pkg
Install the .sis file to a device.
--------------------------------------------------------------------------------
COMPATIBILITY
S60 2nd Edition, Feature Pack 2
S60 2nd Edition, Feature Pack 3
S60 3rd Edition
S60 3rd Edition, Feature Pack 1
Tested on Nokia 6630, Nokia N70, Nokia N80, and Nokia E60.
Created / tested with:
Series 60 2nd Edition SDK for Symbian OS, Supporting Feature Pack 3, for C++
S60 3rd Edition SDK for Symbian OS, for C++, Maintenance Release
+ Extensions plug-in for S60 3rd Edition SDK for Symbian OS, for C++, MR
--------------------------------------------------------------------------------
VERSION HISTORY
2.0 Support added for S60 3rd Edition. Support added for G.711, G.729
and iLBC codecs. Inter-thread communication now done with an active
object instead of exception handling.
1.0 First release (published in Forum Nokia PRO).
--------------------------------------------------------------------------------
EVALUATE THIS RESOURCE
Please spare a moment to help us improve documentation quality and recognize the examples you find most
valuable, by rating this resource at http://www.forum.nokia.com/main/1%2C%2C90%2C00.html?surveyId=8b3a6ed3-e833-4f7c-aee1-4c773196f894/S60_Platform_Full-Duplex_Audio_Example_v2_0_en.zip
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -