Qt直接播放音频数据(完整的音频数据,不是文件)

小猫儿钓鱼 2015-10-21 10:45:27
项目有个播放音频数据的需求,用QMediaplayer实现了一个,在PC机上很OK,但在android上就有一些问题,播放后播放状态为PlayingState,但没有声音,一直发送positionChanged信号不停止,取出来的duration及position全部为0,各位大神帮看看啥情况,代码实现如下:

void MPlayer::playData(const QByteArray &data)
{
qWarning()<<"---------playData="<<data.size();
if( !m_buffer )
m_buffer = new QBuffer(this);
m_buffer->close();

if( !m_barray )
m_barray = new QByteArray();
m_barray->clear();
m_barray->append(data);

if( m_buffer->buffer().isEmpty() )
m_buffer->setBuffer(m_barray);
if( m_buffer->open(QIODevice::ReadOnly) )
{
QMediaResource mr(QUrl(),"audio/mpeg");
mr.setChannelCount(2);
mr.setSampleRate(11025);//44100);
mr.setDataSize((qint64)m_barray->size());
mr.setAudioBitRate(32000);//128000);

m_mc = QMediaContent(mr);
m_player->setMedia(m_mc,m_buffer);
}
}
...全文
1018 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
小猫儿钓鱼 2015-10-21
  • 打赏
  • 举报
回复
自己顶下,大伙儿都来看看啊

16,817

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧