簡體   English   中英

Qaudioinput 在 android 中出現運行時錯誤

[英]Qaudioinput has a runtime error in android

在此處輸入圖片說明 我開發了一個使用 Qt 錄制語音的應用程序。 它在 Linux 環境中正常工作,但是當我開始錄制時,它在 Android 中給了我一個運行時錯誤。 我已經調試了我的代碼,我認為這是因為QAudioInput庫。 我附上了我的錯誤圖片。 在此處輸入圖片說明

QBuffer m_buffer;
m_buffer.open(QBuffer::ReadWrite);


void Recorder::toggleRecord(QString state)
{
    if(state == "1")
    {
        m_buffer.open(QBuffer::ReadWrite);
        m_audioInput->start(&m_buffer);
        QAudioDeviceInfo info = QAudioDeviceInfo::defaultInputDevice();
        if (!info.isFormatSupported(m_format)) {
            qWarning() << "Default format not supported, trying to use the nearest.";
            m_format = info.nearestFormat(m_format);
        }
    }
    if(state == "0")
    {
        m_buffer.close();
        m_audioInput->stop();
    }
}

您將需要此 Android 版本 (8) 的運行時訪問請求。

  auto  result = QtAndroid::checkPermission(QString("android.permission.RECORD_AUDIO"));
    if(result == QtAndroid::PermissionResult::Denied){
        QtAndroid::PermissionResultMap resultHash = QtAndroid::requestPermissionsSync(QStringList({"android.permission.RECORD_AUDIO"}));
        if(resultHash["android.permission.CAMERA"] == QtAndroid::PermissionResult::Denied)
            // do whatever needed if denied
         else
            // do whatever needed if granted
    }

您可以在應用程序啟動時啟動它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM