KDE4の柱。 フォノン



KDE4が置かれている2番目の柱は、壮大で壮大です。 フォノンはマルチメディアAPIです。 妹のSolidと同様に、Phononは、Xine、PulseAudio、GStreamer、DirectShow、QuickTimeなど、特定のサウンドエンジンから抽象化します。 ちなみにフォノンはKDEの一部ではありませんが、KDE4は非常に積極的に使用しています。 クロスプラットフォームのQtアプリケーションを作成するための有名なフレームワーク([kuti]ではなく[kute]と読みます!)バージョン4.4以降では、Phononサポートが組み込まれています。

なぜ自転車を思い付くのですか?



太古の昔から、 KDE2.0はメディアフレームワークとしてaRtsを使用し、マルチメディアAPIを提供しています。 しかし、時代は過ぎ去り、すべてが変化しています。幸いなことにまたは不幸なことに、aRtsはこの競争に耐えられず、 もはや開発されていませ 。 他の人が彼の代わりになるという事実は時間の問題であり、残された時間はあまりありませんでした。 そして、既存のオプションのうち、どれを選択するのですか? モダンになり、必要な機能をサポートし、aRtsと同じようにならないように?

答えは簡単です。1つのエンジンに適応するのではなく、すべてではなく、多くのエンジンで機能するように準備してください。

Phononは単純なユーザーに何を提供しますか?



フォノンは、音をどのように、どのように再現するかについての頭痛の種を再び取り除きます。 明確にするために、このシナリオを想像してください。

SkypeがワイヤレスBlueToothヘッドセットにつぶやき、両親が別のステレオで隣の部屋のクイーンを聞くことができるように、システム通知が2ワットスピーカーで音声で送られる必要があります(隣人にこんにちは:D)。 必要な数のサウンド出力デバイスを備えたPhononは、既に検討されているSolid'omと組み合わせて、マウスを数回クリックするだけですべてを構成できます。

わかりやすくするために、説明した例とは関係なく、もちろんスクリーンショットを示しますが、KDE4の典型的なPhonon構成インターフェイスを確認するのに役立ちます。



さらに、切り替えは「オンザフライ」で実行され、理想的には再起動するだけでなく、アプリケーションも再起動する必要があります。 もちろん、これまでのものはそれほどスムーズに進まない可能性があります。つまり、オーディオ再生アプリケーションの再起動後に変更が有効になります(システム通知の場合、KDE4を再起動します)。

そして、これが本当に普遍的でクロスプラットフォームなソリューションであることを特に疑う余地がないように、ここに私のWindows XPからのスクリーンショットがあります:



ご覧のとおり、この場合、PhononはDirectShow9エンジンを使用しています。 Mac OS Xでは、QuickTimeが代わりになります。 これは別のプラスです-Phononはシステムに既にインストールされているエンジンを使用し、それらに適応します。

Phononは開発者に何を提供しますか?



たくさん! サウンドサブシステムでサポートされているサウンドファイルを再生する方法は? わずか4行のコード-これで完了です!

media = new MediaObject(this);

connect(media, SIGNAL(finished()), SLOT(slotFinished()));

media->setCurrentSource("/home/username/music/filename.ogg");

media->play();







一般に、フォノンは基本的な再生機能だけでなく、特殊効果を作成するためのインターフェイスも提供します。 Phononを使用するには、開発者としてフロントエンドAPIを知っている必要があります。 Phononの主要なオブジェクトはMediaObjectAudioOutputです。 MediaObjectを介して抽出されたデータは、オーディオ出力に送信する必要があります。 これを行うには、 Phonon :: createPath関数を使用します。この関数はPathオブジェクトを返し、そのオブジェクトにサウンド信号に影響を与える特殊効果を入力できます。



音声に加えてビデオが使用される場合、回路に分岐が追加されます。 その結果、次のような結果が得られます。



ご覧のとおり、Qtで他のコードを記述してkdelibsを使用するのと同じように、サウンドの操作は簡単でリラックスできます。

開発者が利用できるようになるものの端に触れただけです。KDEプロジェクトWebサイトのAPIドキュメント 、およびQt Assistantプログラムからも利用可能な対応するQtヘルプセクションを読むと、より深刻な没入感が待っています。

ユーザーにとっては、これらすべての人類の利点を活用する喜びだけがあり、わずかなニーズでサウンド出力設定を簡単に変更できます。

これで、おそらく、私は投稿を完了します。 誰かに少し思われた場合、または質問がある場合-コメントを書いて、個人的なメッセージを書いて、石鹸に書いてください-my_nick <on>mail.ru。 私はフィードバックと提案を聞いてうれしいです。



Phononプロジェクトの公式ウェブサイト 、Qtの公式証明書から取得した情報 。 いつものように、フォノンとの私自身の経験が助けになりました-KDE アプリではtrayplayerを見つけることができます。 それは私のものではありませんが、理解するのは非常に簡単です。 スクロールバックオプションを繰り返し、好奇心からこのプロジェクトをCMakeに転送し、クラスを異なるファイルに分割し、基本的なプレイリストの実装を開始しました。



WeLinux.ruへの投稿



All Articles