2012-11-29 6 views
0

내 기본 목표는 QDataStream, QTcpServerQTcpSocket을 사용하여 네트워크를 통해 mp3 파일을 보내는 것입니다. 그러나 나는이 일을 작은 조각으로 나누었다. 처음에는 mp3 파일을 올바른 형식으로 가져와 데이터 스트림에 "공급"할 수 있어야합니다.Qt mp3 파일을 데이터 스트림

어떻게해야합니까? Phonon을 사용하는 것이 가장 쉬운 방법이라고 생각 했나요? 그러나 MediaObject은 어떤 종류의 getData 방법을 제공하는 것 같지 않습니다.

어떻게하면 좋을지에 대한 도움을 주시면 감사하겠습니다. 필요한 경우 이에 대해 더 설명 할 수 있습니다.

+0

"올바른 형식"이란 무엇을 의미합니까? –

+0

확실히 알 수 있습니다. 데이터를 QTcpSocket을 통해 보내고 싶습니다. QTcpSocket을 바이트 (const char *)로 가져와야한다는 뜻입니다. 그러나 나는 확실하지 않습니다, 나는 이런 종류의 일에 초보자입니다. – Majster

+0

파일을 읽었으며 네트워크를 통해 전송하는 것이 허용되지 않습니다. –

답변

0

"올바른 형식"이 없습니다. 또한 문제는 MP3와 관련이 없습니다. 파일의 종류에 관계없이 모든 파일에 대해 동일한 작업을 수행합니다. 파일을 열고 바이트를 읽은 다음 보낼 바이트가 없을 때까지 해당 바이트를 보냅니다.

포논이나 기타 MP3 관련 작업은 필요하지 않습니다. 파일을 열고 바이트 만 읽으면됩니다. 그런 다음 QTcpSocket 객체의 write() 함수를 사용하여 해당 바이트를 소켓에 씁니다. 당신은 당신이 파싱 할 필요가없는 데이터만을 다루기 때문에 QDataStream조차 필요하지 않습니다.

+0

예, 그렇습니다. write 메소드는 친숙합니다. 파일을 읽고 그것을 어떻게 보내나요? – Majster

+0

@Majster 모든 파일을 읽는 것과 같은 방법입니다. QFile을 만듭니다. QFile :: read()에서 얻은 것은 무엇이든, QTcpSocket :: write()로 보내면된다. –

+0

글쎄, 나는 그것을 시도했다. 처음에는 파일을 읽고 동일한 파일을 새로운 명명 된 파일에 다시 쓰려고했습니다. 내 접근 방식에 행운이 없다. 내 질문의 일부가 아니므로 어디에서 코드를 붙여 넣을 수 있습니까? – Majster