Не удается правильно декодировать строку Base64 из Power Apps в аудиофайл - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь правильно декодировать строку Base64 из приложения Power Apps в аудиофайл. Дело в том, что я декодирую и могу играть. Но как только я пытаюсь конвертировать его с помощью ffmpeg или любого другого веб-сайта, появляются все виды ошибок. Я также пытался изменить форматы (aa c, weba, m4a, wav, mp3, ogg, 3gp, caf), но ни один из них не может быть преобразован в другой формат.

PS: Если я декодирую строку (которая слишком велика, чтобы публиковать ее здесь) непосредственно с помощью веб-сайта, то аудиофайл можно, наконец, преобразовать, указав, что проблема в коде или даже в библиотеке Python.

=============== КОД ===============

import os
import base64

mainDir = os.path.dirname(__file__)
audioFileOGG = os.path.join(mainDir, "myAudio.ogg")
audioFile3GP = os.path.join(mainDir, "myAudio.3gp")
audioFileAAC = os.path.join(mainDir, "myAudio.aac")
binaryFileTXT = os.path.join(mainDir, 'binaryData.txt')


with open(binaryFileTXT, 'rb') as f:
    audioData = f.readlines()
    audioData = audioData[0]

with open(audioFileAAC, "wb") as f:
    f.write(base64.b64decode(audioData))

Результат: аудиофайл можно воспроизвести, но он не может быть преобразован в любой другой формат (мне нужен * .wav). Что мне здесь не хватает?

1 Ответ

1 голос
/ 09 апреля 2020

Я нашел проблему сам: чтобы декодировать строку Base64, нужно сначала удалить заголовок (например: «data: audio / webm; base64,»). Тогда это работает!

...