![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
|
Пишу приложение для iPad и Adroid планшетов, которое записывает звук с микрофона, а потом проигрывает его.
То, что замечательно работает на моем комьютере, ни в какую не согласно работать на планшетах. Подробности: Вот код, который начинает запись и ведет ее: public function startRecording():void { if (Microphone.isSupported) { _isRecording = true; _microphone = Microphone.getMicrophone(Microphone.names[0]); _microphone.rate = 22; _microphone.gain = 100; _microphone.setSilenceLevel(0, 4000); _soundData = new ByteArray(); _microphone.addEventListener(SampleDataEvent.SAMPLE_DATA, onSampleDataReceived); } else { trace("No microphone support!"); } } protected function onSampleDataReceived(event:SampleDataEvent):void { while(event.data.bytesAvailable) { var sample:Number = event.data.readFloat(); _soundData.writeFloat(sample); } } На iPad-е я нахожусь на более продвинутом этапе. SampleDataEvent приходит, _soundData явно содержит информацию (причем достаточно адекватную, чтобы нарисовать диаграмму звука), но проигрывать этот звук iPad отказывается. Максимум, что я могу услышать - несколько миллисекунд шума под конец. Проигрываю звук я так: public function playRecording():void { if (_soundData != null) { _soundData.position = 0; var sound:Sound= new Sound(); sound.addEventListener(SampleDataEvent.SAMPLE_DATA, sound_sampleDataHandler); var channel:SoundChannel = sound.play(); channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); } } protected function sound_sampleDataHandler(event:SampleDataEvent):void { if (!_soundData.bytesAvailable > 0) { return; } for (var i:int = 0; i < 8192; i++) { var sample:Number = 0; if (_soundData.bytesAvailable > 0) { sample = _soundData.readFloat(); } event.data.writeFloat(sample); event.data.writeFloat(sample); } } protected function soundCompleteHandler(event:Event):void { //some code } Upd: В app.xml доступ к миктофону, вроде, разрешен <android>
<manifestAdditions><![CDATA[
<manifest android:installLocation="auto">
<!--See the Adobe AIR documentation for more information about setting Google Android permissions-->
<!--Removing the permission android.permission.INTERNET will have the side effect
of preventing you from debugging your application on your device-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!--<uses-permission android:name="android.permission.READ_PHONE_STATE"/>-->
<!--<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>-->
<!--The DISABLE_KEYGUARD and WAKE_LOCK permissions should be toggled together
in order to access AIR's SystemIdleMode APIs-->
<!--<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>-->
<!--<uses-permission android:name="android.permission.WAKE_LOCK"/>-->
<!--<uses-permission android:name="android.permission.CAMERA"/>-->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!--The ACCESS_NETWORK_STATE and ACCESS_WIFI_STATE permissions should be toggled
together in order to use AIR's NetworkInfo APIs-->
<!--<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>-->
<!--<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>-->
</manifest>
]]></manifestAdditions>
</android>
Последний раз редактировалось olkina; 13.07.2011 в 03:40. Причина: добавила подробности и запятые |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 205
|
А ты почитай доку - работа со звуком не на всех устройствах есть. То есть микрофон имеется, но записывать с него флешом нельзя. Правов у флеша таких нету
|
|
|||||
|
Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
|
все оказалось сложнее. планшет с андроидом у меня оказался с неисправным микрофоном, на первом iPade я записываю звук с микрофона, а воспроизвести не могу, а на втором iPade - все работает
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:38. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| Android , ios , микрофон , планшеты |
|
|