2012-11-29 38 views
0

我的主要目标是通过网络发送一个mp3文件,使用QDataStream,QTcpServerQTcpSocket。但我已经把这个任务分解成小块。起初,我需要将mp3文件转换为正确的格式,以便它可以“馈送”到数据流中。Qt mp3文件到数据流

我该怎么做到这一点?我认为这将是使用Phonon最简单的方法?但MediaObject似乎不提供某种getData方法。

任何帮助,我该怎么做,将不胜感激。如果需要,我可以更多地解释这一点。

+0

短语“正确格式”是什么意思? –

+0

无法确定。我想通过QTcpSocket发送数据,这意味着我必须将它们转换为字节(const char *)。但我不确定,在这类事情上我是个新手。 – Majster

+0

正在读取文件并通过网络发送它是不可接受的吗? –

回答

0

没有“正确的格式”。另外,你的问题不是MP3专用的。您对所有文件都做同样的事情,无论它们包含什么样的数据。您打开文件,从中读取字节并发送这些字节,直到没有剩余要发送。

你不需要Phonon或任何与MP3有关的东西。您只需打开文件并从中读取字节。然后使用QTcpSocket对象的write()函数将这些字节写入套接字。你甚至不需要QDataStream,因为你只处理你不需要解析的数据。

+0

确实如此。写入方法很熟悉。我如何阅读文件并发送它? – Majster

+0

@Majster你用同样的方法读取任何文件。为它创建一个QFile。无论你从QFile :: read()得到什么,你都会发送到QTcpSocket :: write()。 –

+0

好吧,我已经试过了。起初我试图读取文件并将相同的文件写回新的命名文件。我的方法没有运气。我可以在哪里粘贴代码,因为它不是我问题的一部分? – Majster