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.