安卓上的qt5不使用QAudioRecorder录制PCM wav文件



我在pyqt5上编写了代码,以将PCM编解码器中的音频文件记录为WAV格式。而且在PC上很好,但是在Android上,它始终使用AMR编解码器编写MP4文件。我该如何修复?

这是代码

recorder=QAudioRecorder(w)
audioSettings=QAudioEncoderSettings()
audioSettings.setCodec("audio/PCM")
audioSettings.setSampleRate(16000)
recorder.setAudioSettings(audioSettings);
recorder.setContainerFormat("wav");
recorder.setOutputLocation(QUrl.fromLocalFile("/sdcard/test"))

(pyqt5从PIP中安装在Android上的PIP上,QT5,Ministro II应用程序(

不幸的是,我没有解决Qaudiorecorder的问题。我找到了编写无标题签名的方法16bit 16kHz小endian PCM,并使用Qaudio Intupt:

#!/usr/bin/env python2
from PyQt5.QtCore import QFile
from PyQt5.QtMultimedia import QAudioInput,QAudioFormat,QAudio
import sys
import time
from PyQt5.QtWidgets import QApplication, QWidget,QPushButton
format=QAudioFormat()
format.setSampleRate(16000);
format.setChannelCount(1);
format.setSampleSize(16);
format.setCodec("audio/pcm")
format.setByteOrder(QAudioFormat.LittleEndian)
format.setSampleType(QAudioFormat.SignedInt)
audio=QAudioInput(format)
def onBtn():
    if audio.state()==QAudio.StoppedState:
        audio.start(destFile)
        print "started"
    else:
        audio.stop()
        print "stopped"
pass
app = QApplication(sys.argv)
w = QWidget()
btnRec = QPushButton('Rec|stop', w)
btnRec.clicked.connect(onBtn)
w.show()
app.exec_()
destFile.close()

最新更新