QML Audio在结束前400毫秒停止

时间:2015-09-21 22:52:29

标签: qt qml

请有人解释我申请的这种奇怪行为。 我使用的是Qt 5.1.0和msvc2010。 这是我的代码:

import QtQuick 2.1
import QtQuick.Window 2.1
import QtMultimedia 5.0

Window {
   visible: true
   width: 360
   height: 360
   MouseArea {
      anchors.fill: parent
      onClicked: {
         playAudio.play()
      }
   }

    Audio {
        id: playAudio
        source: "zvuky/1.mp3"
    }
}

2 个答案:

答案 0 :(得分:0)

您的代码没有任何错误。也许是因为mp3文件,Qt无法加载它。

您是否尝试将mp3文件转换为wav?有时最好使用SoundEffect代替Audio

您也可以尝试MediaPlayer类型。

这里有一个例子。它位于GitHub,您可以下载音频片段。

import QtQuick 2.5
import QtQuick.Window 2.2
import QtMultimedia 5.4

Window {
    visible: true
    width: 360
    height: 360
    MouseArea {
        anchors.fill: parent
        acceptedButtons: Qt.LeftButton | Qt.RightButton

        onClicked: {
            if (mouse.button == Qt.RightButton)
                playMP3.play()
            else
                playWAV.play()
        }
    }

    SoundEffect {
        id: playWAV
        source: "res/kid_giggle.wav"

        onPlayingChanged: {
            console.log("SoundEffect - onPlayingChanged - category: " + category)
        }
    }

    MediaPlayer {
        id: playMP3
        source: "res/kid_giggle.mp3"

        onPlaying: {
            console.log("MediaPlayer - onPlaying - duration: " + duration)
        }
    }
}

答案 1 :(得分:0)

我找到了解决方案。 当我使用Qt 5.2.1(msvc2012)

时,一切都与Audio元素完美配合