diff --git a/app/build.gradle b/app/build.gradle index d9a911a..7e2583b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.github.axet.audiorecorder" minSdkVersion 16 targetSdkVersion 23 - versionCode 77 - versionName "1.1.55" + versionCode 78 + versionName "1.1.56" } signingConfigs { release { diff --git a/app/src/main/java/com/github/axet/audiorecorder/encoders/FormatM4A.java b/app/src/main/java/com/github/axet/audiorecorder/encoders/FormatM4A.java index ca83638..58fc555 100755 --- a/app/src/main/java/com/github/axet/audiorecorder/encoders/FormatM4A.java +++ b/app/src/main/java/com/github/axet/audiorecorder/encoders/FormatM4A.java @@ -14,9 +14,7 @@ public class FormatM4A extends MuxerMP4 { Map map = findEncoder("audio/mp4"); if (map.isEmpty()) throw new RuntimeException("mp4 not supported"); - MediaFormat format = new MediaFormat(); - format.setString(MediaFormat.KEY_MIME, prefered("audio/mp4a-latm", map)); - format.setInteger(MediaFormat.KEY_AAC_PROFILE, MediaCodecInfo.CodecProfileLevel.AACObjectHE); + MediaFormat format = MuxerMP4.getDefault("audio/mp4a-latm", map); format.setInteger(MediaFormat.KEY_SAMPLE_RATE, info.sampleRate); format.setInteger(MediaFormat.KEY_CHANNEL_COUNT, info.channels); format.setInteger(MediaFormat.KEY_BIT_RATE, 64000); diff --git a/app/src/main/java/com/github/axet/audiorecorder/encoders/MuxerMP4.java b/app/src/main/java/com/github/axet/audiorecorder/encoders/MuxerMP4.java index 9aa97f6..4ee61b1 100755 --- a/app/src/main/java/com/github/axet/audiorecorder/encoders/MuxerMP4.java +++ b/app/src/main/java/com/github/axet/audiorecorder/encoders/MuxerMP4.java @@ -64,6 +64,12 @@ public class MuxerMP4 implements Encoder { return null; } + public static MediaFormat getDefault(String pref, Map map) { + String p = prefered(pref, map); + MediaFormat format = map.get(p).getCapabilitiesForType(p).getDefaultFormat(); + return format; + } + public void create(EncoderInfo info, MediaFormat format, File out) { this.info = info;