You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Filip Maj (JIRA)" <ji...@apache.org> on 2017/04/26 19:14:04 UTC

[jira] [Resolved] (CB-12542) can’t record to a “wav” file on IOS media plugin

     [ https://issues.apache.org/jira/browse/CB-12542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Filip Maj resolved CB-12542.
----------------------------
    Resolution: Fixed

> can’t record to a “wav” file on IOS media plugin
> ------------------------------------------------
>
>                 Key: CB-12542
>                 URL: https://issues.apache.org/jira/browse/CB-12542
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin Media
>    Affects Versions: 3.5.0
>         Environment: 9.x Simulator , IOS 8.x device (iPod touch)
>            Reporter: Leo Schubert
>            Assignee: Filip Maj
>            Priority: Critical
>              Labels: pluginsrelease
>         Attachments: cdvsound.diff
>
>
> I get “Failed to initialize AVAudioRecorder: (null)” in the error callback of the startRecordingAudio() exec API.
> I see that the AVAudioPlayer settings in CDVAudio.m are
> {code}
> NSDictionary *audioSettings = @{AVFormatIDKey: @(kAudioFormatMPEG4AAC),
>                                             AVSampleRateKey: @(44100),
>                                             AVNumberOfChannelsKey: @(1),
>                                             AVEncoderAudioQualityKey: @(AVAudioQualityMedium)
>                                             };
> {code}
> This is IMHO the reason it doesn’t work. Either one uses the .m4a extension with {{kAudioFormatMPEG4AAC}} or
> .wav with the {{kAudioFormatLinearPCM}} key (the IOS docs are very unclear about which file extensions are actually supported)
> The plugin enforces “wav” but the settings enforce the MPEG4AAC encoder.
> Using the attached simple patch and using .m4a at the JS side solves the problem and records on my iPod touch IOS 8.x.
> I stumbled also across https://github.com/remoorejr/cordova-plugin-media-with-compression where the exchange wav->m4a is done too.
> Strangely I can’t find much problems reported on stackoverflow, but this one seems to cover it
> http://stackoverflow.com/questions/12244111/failed-to-initialize-avaudiorecorder-null
> The last poster seem to indicate that the problem sneaked in in IOS 8 (previously it was probably possible to record to a .wav file but with AAC content).
> Looking at the recordAudio() test for the plugin in tests/tests.js I can’t see that potential errors are actually causing the test to fail: they are just logged with console.log , so this may explain why the problem has not been detected by the tests.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org