2012-11-29 64 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