Skip to content

Mac系统下播放音频会有杂音 #3

@cocobao

Description

@cocobao

你好,我使用了您的代码运行播放了一段MP3音乐,发现在Mac系统下会有杂音,而在window系统下则没有,我使用的系统版本是11.3。

我大致看了一下代码,觉得比较可能有问题是在musicplayer.cpp的445行

    while (chunks--) {
        QByteArray pcm = d->m_audioBuffer.mid(0, readSize);
        int size = pcm.size();
        d->m_audioBuffer.remove(0, size);

        if (size) d->m_audioDevice->write(pcm);
        if (size != readSize) break;
    }

就是if (size) d->m_audioDevice->write(pcm);这一行

write写入一段音频数据之后会返回一个实际写入播放设备的字节数,这个字节数跟输入缓冲的字节数不是一定相等的。有时候会比实际输入缓冲字节数小,就是说这里可能存在一些数据被丢弃而没有输入播放

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions