Phonon 是 KDE 桌面平台提供的多媒體 API,它是處理KDE軟體中多媒體流的標準抽象,也被幾個Qt應用程式使用。
Phonon 最初是為了讓 KDE/Qt 軟體能夠獨立於任何單一的多媒體框架(如GStreamer或xine),從而為其提供了在主要版本的生命周期內穩定的多媒體API。通過提供一個簡單的 KDE/Qt 風格的多媒體API,能夠更好地支援 Windows 和 macOS 上的本地多媒體框架,並解決框架變得無法維護或 API/ABI 不穩定的問題。
使用了phonon,用四行C++程式碼就能播放檔案[1] ,而舊聲音框架(aRts)則需要用到30行[2]:
media = new MediaObject(this);
connect(media, SIGNAL(finished()), SLOT(slotFinished()));
media->setCurrentSource("/home/username/music/filename.ogg");
media->play();
Phonon並非只能運行於Unix系統,他的後端可以是在其它平台如 Microsoft Windows 並提供相同的功能。
特色
使用於 Qt
Phonon從一開始就被設計成Qt函式的風格,Qt4.4和之後版本使用了Phonon,作為跨平台的音訊/視訊播放。[6]
範例
Phonon::VideoPlayer *player=new Phonon::VideoPlayer(this);
player->setMinimumSize(1280,720);
Phonon::MediaSource source("20110705_095213.avi");
player->load(source);
player->play();
connect(player,SIGNAL(finished()),player,SLOT(play()));
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.