169 похожих чатов

Всем привет. У меня есть задача перевести аудио из MP3

в WAV. Для этого сначала нужно совершить decode над MP3, чтобы раскодировать MP3, а после сделать encode над WAV, чтобы в конечном итоге получить готовый, закодированный аудио файл формата WAV. Я наткнулся на следующую документацию по тому, какие возможности для кодирования различных аудио форматов предоставляет Android API. Вот список: https://developer.android.com/guide/topics/media/media-formats

Однако, никаких примеров ни в документации, ни в гугле по тому, как можно это использовать и где были бы хоть какие-нибудь простенькие примеры, я не нашел. Кто с этим сталкивался, можете помочь пожалуйста, отправить какую-нибудь статью, где есть пример, как с использованием чистого Android API, Java, без каких-то внешних библиотек, сконвертировать один аудио файл одного формата в другой?

36 ответов

18 просмотров

Перешёл по твоей ссылке и тыкнул МедиаКодек: https://developer.android.com/reference/android/media/MediaCodec

Georgy-Treshchev Автор вопроса

Да, но как именно сконвертировать?

Ты упорно отказываешься смотреть код работающих продуктов? https://stackoverflow.com/a/5289668/3050249

Georgy-Treshchev Автор вопроса

Код работающих продуктов, которые конвертируют формат файлов из .mp3 в .wav? Я просто не нашел таких продуктов

Georgy-Treshchev Автор вопроса

Мне даже желательно в формат .ogg (mp3 -> ogg), но я нигде в интернете не нашел нативных реализаций конвертации, используя только Android API

Ты как будто троллишь, я уже два плеера с открытыми исходниками предложил.

Он не хочет вообще библиотек

Дак пусть определяется, шашечки или ехать

Georgy-Treshchev Автор вопроса

Я смотрел эти плееры, у них все конвертации происходят на уровне байтов

А надо на уровне битов или что?

Ну так да, а как иначе.

Ещё вопрос ты прогаешь на джаве или котлине?

Georgy-Treshchev Автор вопроса

Мне хотелось бы вообще не взаимодействовать с такими типами данных, а использовать функции, которые может уже есть в Android API

Georgy-Treshchev Автор вопроса

Java

Давай без флуда.

Ой, больной вопрос задел)

Я скинул ссылку и показал, что есть в андроиде. Готовой функции mp3ToOgg(File src, File dest) там нет.

Михаил, есть ссылка на группы Php разрабов?

Georgy-Treshchev Автор вопроса

Окей, тогда придется библиотеки использовать, которые так или иначе добавят как минимум 10 Мбайт размера запакованного apk

такой нет, ты первый , кому такая понадобилась

github.com/goq/telegram-list

Пасиб)

Неправда, тебе просто лень переливать через массив байт. Сами кодеки в андроиде есть, я скинул.

как релиз?

Как документацию.

утро начинается на с кофе :D?

Georgy-Treshchev Автор вопроса

Так где же лень, я уже недели три думаю, как это сделать. Если бы я понимал, как перевести mp3 в ogg, используя кодеки или массивы байт, без разницы, я бы давно это сделал бы

Ну я скидывал ссылку в доку. Ты пожаловался на какую-то «конвертацию на уровне байтов», чем всё и закончилось. Зачем тебе это, кстати? Что пытаешься сделать?

Georgy-Treshchev Автор вопроса

Мне нужно перевести файл формата mp3 в формат ogg, чтобы использовать в движке Unreal Engine 4

Georgy-Treshchev Автор вопроса

Я просто в джаве очень слабо разбираюсь, поэтому для того, чтобы изучить, как производить конвертацию различных аудио файлов на уровне байтов, потрачу месяца полтора наверное

В андроиде зачем это делать? Конвертер используй, Audacity, например.

Ну так не мучай себя, найди в @mobile_jobs того, кто это сделает.

Georgy-Treshchev Автор вопроса

Я же понимаю, что бесплатно никто не будет ничего делать, как ни странно, а у меня бюджет нулевой. Да и мне самому интересно узнать, как это сделать

Ну раз самому интересно, начни с книжки по джаве

Georgy-Treshchev Автор вопроса

Я понимаю, но я ведь потрачу месяца полтора на то, чтобы изучить джава до такого момента, чтобы я смог без особых проблем конвертировать аудио файлы разных форматов. А то и больше

Тогда не надо рассказывать про «мне самому интересно узнать».

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта