Phonon

Phonon(フォノン)は、Linuxデスクトップ環境であるKDE 4のために開発されたクロスプラットフォームのマルチメディアAPIです。Unix系デスクトップにおけるマルチメディア環境の複雑さを解消することを目標としています。Phonon自体は、直接的なマルチメディアフレームワークではありません。しかし、バックエンドを介してGStreamerやXineのような既存のフレームワークとの橋渡し役を果たします。これにより、開発者はPhononが対応する様々なマルチメディアフレームワークに対して、単一のAPIを通じてアクセスできるようになります。

この仕組みによって、特定のフレームワークへの過度な依存やAPIの不安定性といった問題、そしてKDEが単一のフレームワークに縛られるといった事態を回避できます。また、PhononはUnix系デスクトップ環境だけでなく、WindowsやMac OS Xなど他のOS環境でも利用できるように開発が進められています。

たとえば、音声ファイルの再生は、以下に示す数行のC++コードで実現可能です。既存のオーディオフレームワークであるaRtsと比較して、より少ないコード量で済むことが分かります。

cpp
MediaObject media = new MediaObject(this);
media->setCurrentSource("/home/username/music/filename.ogg");
media->play();


Phononは、開発者による冗長で複雑な作業を減らし、メディアプレイヤーの基本的な機能を簡単に実行できるようにします。すべてのマルチメディア機能を網羅しているわけではありませんが、一般的なメディアプレイヤーの機能は容易に実装できます。

機能



Phononは、多様なバックエンドと、開発者が「エンジン」と呼ぶシステムを繋ぐ役割を果たします。各エンジンは特定のバックエンドと連携し、Phononに再生、停止、シークといった基本的な制御機能を提供します。将来的には、トラックのフェードのような高度な機能もサポートされる予定です。

2008年4月23日現在、Unix系システムではxine、GStreamer、VLC、MPlayerがバックエンドとしてサポートされています。WindowsではDirectX、VLC、MPlayerが、Mac OS XではQuicktimeがサポートされています。

Phononの大きな特徴として、マルチメディアフレームワークをリアルタイムで切り替えられる点が挙げられます。ユーザーが音楽を聴いている最中でも、わずかな時間でバックエンドを切り替えることが可能です。この変更は、Phononを利用しているシステム上のすべてのアプリケーションに適用されるため、フレームワークの変更が容易になると考えられます。

さらに、PhononはSolidと連携しており、ユーザーはヘッドセット、スピーカー、マイクなどのオーディオデバイスをより詳細に制御できます。例えば、ヘッドセットでインターネット電話を使用中に、音楽をスピーカーから再生するといった柔軟な設定が可能です。

Trolltech



Qtの開発元であるTrolltechは、バージョン4.4のリリースでPhononを導入し、クロスプラットフォームでのオーディオ・ビデオ処理を実現しました。

脚注



Phononは、マルチメディアフレームワークの抽象化レイヤーを提供することで、異なるバックエンド間の互換性を確保し、開発者が特定のフレームワークに依存することなくアプリケーションを開発できるようにします。

関連項目



KDELibs
KMPlayer

外部リンク



* Phonon公式ページ

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。