在Qt中连续播放多首歌曲并实现多个歌曲循环播放
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Qt中连续播放多首歌曲并实现多个歌曲循环播放相关的知识,希望对你有一定的参考价值。
参考技术A 如果是qt4的话,用phonon模块。有一个aboutToFinish()信号,就是每当这首歌快结束的时候发射该信号,告诉接下来播放器干嘛,停止播放还是单曲循环或者别的。。。如果是qt5的话,就简单多了,用multimedia模块。分别 new 一个qmediaplayer和qmediaplaylist 对象,qmediaplaylist内置5个音乐播放模式,什么单曲循环,列表循环等等。详情qt assistant本回答被提问者采纳ios AudioQueue 流式传输多首歌曲
【中文标题】ios AudioQueue 流式传输多首歌曲【英文标题】:ios AudioQueue streaming multiple songs 【发布时间】:2011-08-16 23:29:03 【问题描述】:我正在使用 AudioQueue 从任意源流式传输音频(该类基本上只需要一个为其提供数据包的委托),我创建了一个包含所有功能的类,让我们调用 AudioQueueClass,我正在使用这个类播放许多歌曲,在每首歌曲之间我释放我的类并创建一个新的 AudioQueueClass 实例来播放下一首歌曲,我看到了两个我无法找到原因的问题,也许你们中的一些人遇到了这些问题并且可以阐明它
1- 每隔一段时间,AudioQueue 播放上一首歌曲的几秒钟,然后回到当前歌曲,不知道为什么会发生这种情况,因为我正在为每首歌曲创建一个新队列,我相信我是适当地处理我的队列——一些代码要遵循
2- 这个更糟糕,有时当我进入第三或第四首歌曲时,音频队列停止播放......我相信问题是 AudioQueueInputCallback inCallbackProc 停止被调用,我猜这是因为队列停止了播放和处理数据包,但无法找出原因......另外需要注意的是,这仅在我从外部源流式传输到设备时发生,如果我只是在本地获取文件数据并将其用作数据包,我会听到“口吃”,但它可以恢复并播放良好,而在流媒体的情况下,声音只是停止(很奇怪)
这是我用来处理音频队列的代码,由于不确定要发布哪些相关部分,因此不再发布,如果您想查看任何代码并将其发布,请告诉我
AudioQueueFlush(audioQueue);
AudioQueueStop(audioQueue, true);
if (audioFileStream)
err = AudioFileStreamClose(audioFileStream);
audioFileStream = nil;
if (err)
[self failWithErrorCode:AS_FILE_STREAM_CLOSE_FAILED];
//
// Dispose of the Audio Queue
//
if (audioQueue)
err = AudioQueueDispose(audioQueue, true);
audioQueue = nil;
if (err)
[self failWithErrorCode:AS_AUDIO_QUEUE_DISPOSE_FAILED];
【问题讨论】:
【参考方案1】:毫不奇怪,错误根本不在音频流媒体中,这是我编写要流式传输的音乐的方式...在我修复它之后一切正常...
再次感谢
丹尼尔
【讨论】:
以上是关于在Qt中连续播放多首歌曲并实现多个歌曲循环播放的主要内容,如果未能解决你的问题,请参考以下文章