2011-11-15 7 views
1

AxisカメラからのRTPオーディオストリームを取得し、Qtプロジェクトでリアルタイムに再生したいと考えています。Qt Axisカメラからのオーディオ再生

私は、オーディオストリームを管理し、それをFFMPEGでデコードするためにLive555を使用しています。私は、パケットをデコードするとき私は私のウィジェットのスロット内部で管理されている信号を発する:

ap.ioDevice->write((const char*)ptrArr, frameSize); 

の問題は、私が聞いたとき、私の声が、少しメタリック! 私はQAudioOutputのためにこれらのパラメータを設定します。

format.setFrequency(22050); 
format.setChannels(1); 
format.setSampleSize(16); 
format.setCodec("audio/pcm"); 
format.setByteOrder(QAudioFormat::LittleEndian); 
format.setSampleType(QAudioFormat::UnSignedInt); 

間違っているのですか?


ありがとうございました。

私がコメントで言ったように、私は8000Hzと2チャンネルで十分なクリアな再生を得ることができます。

今私は他の問題を解決しようとしていますが、私はPhononなどで音質を改善しようとしています。

+0

[docs](http://doc.qt.nokia.com/stable/qaudioformat-obsolete.html)によると、 'setFrequency'と' setChannels'は廃止されており、レガシー目的にのみ含まれています。私はあなたの問題の原因を確かめていませんが、代わりに 'setSampleRate'と' setChannelCount'を使うのがベストプラクティスです。 – sjwarner

+0

OK、setSampleRateとsetChannelCountを使用しようとしましたが、効果は同じです。私は8000と2チャンネルでそれを設定し、現在は本当にうまく動作します。私は低い周波数を減らしたいと思います。私はそれをどのようにすることができるか知っていますか? – user1047400

+0

はい、私は違いはありますが、 'setFrequency'は現在廃止になっているので、Qtの将来のリリースでは完全に削除される可能性があります。 :) – sjwarner

答えて

0

あなたの問題はサンプルレートと関係していると思います.22KHzは非常に低いようです。それを44.1Kに上げるのにどれくらいの違いがありますか? (あなたがSampleRateとして選択したものについてはQAudioDeviceInfo::supportedSampleRates().contains((int)SampleRate)もチェックする必要があると思います)。

+0

私は、22KHzが低く、実際に私の声がかかっているとは思わなかった。サンプルレートを8000Hzと2チャンネルに設定して解決した。 – user1047400

+0

クール、おそらくそれを自己回答として提出する必要があります:) – sjwarner

関連する問題