cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [jira] [Commented] (CB-12542) can’t record to a “wav” file on IOS media plugin
Date Sat, 11 Mar 2017 09:58:04 GMT


ASF GitHub Bot commented on CB-12542:

GitHub user leopatras opened a pull request:

    CB-12542: (ios) Fix wav file recording, add m4a extension

    Please make sure the checklist boxes are all checked before submitting the PR. The checklist
    is intended as a quick reference, for complete details please see our Contributor Guidelines:
    ### Platforms affected
    ### What does this PR do?
    ### What testing has been done on this change?
    Tested that a wav or an m4a file can be recorded/played
    ### Checklist
    - [x] [Reported an issue]( in the JIRA
    - [x] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file
paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
    - [ ] Added automated test coverage as appropriate for this change.

You can merge this pull request into a Git repository by running:

    $ git pull development

Alternatively you can review and apply these changes as the patch at:

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #134
commit 5d7b4e3fe7fe6445c675e5754507b62b321807f0
Author: Leo Schubert <>
Date:   2017-03-11T09:49:28Z

    CB-12542: (ios) Fix wav file recording, add m4a extension


> can’t record to a “wav” file on IOS media plugin
> ------------------------------------------------
>                 Key: CB-12542
>                 URL:
>             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
>            Priority: Critical
>         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}}
> .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
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
> 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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message