• 2807阅读
  • 2回复

Phonon模块无法循环播放,MessageBox也很奇怪 [复制链接]

上一主题 下一主题
离线ycyu1455
 

只看楼主 倒序阅读 楼主  发表于: 2017-12-16
                Phonon::MediaObject mediaObject(this);
                mediaObject.setCurrentSource(Phonon::MediaSource(bellString));
                Phonon::AudioOutput audioOutput(Phonon::MusicCategory, this);
                Phonon::Path path = Phonon::createPath(&mediaObject, &audioOutput);//关联MediaObject、AudioOutput
                audioOutput.setVolume(tySliderValus);

                mediaObject.play();
                connect(&mediaObject,SIGNAL(finished()),SLOT(play())) ;
                QTimer::singleShot(500000, &mediaObject, SLOT(stop()));
                QMessageBox * MessageBox =  new QMessageBox();
                MessageBox->setWindowTitle("闹钟~~~");
                MessageBox->setText(QString("%1 %2").arg(timeString).arg(nOte));
                MessageBox->exec();


MessageBox这个消息框关闭后会把音乐停了,这是为什么,我把红色部分的代码删除了,音乐居然也不播放了
离线uidab

只看该作者 1楼 发表于: 2017-12-19
变量作用域
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线yanwuyue

只看该作者 2楼 发表于: 2017-12-19
mediaObject 是局部变量,函数结束就析构了, MessageBox->exec();是阻塞式函数,一旦关闭,作用域就结束了
1条评分金钱+10
ycyu1455 金钱 +10 好吧 2017-12-24
快速回复
限100 字节
 
上一个 下一个