Phonon (oprogramowanie)
Deweloperzy | Matthias Kretz ua [ potrzebne źródło ] |
---|---|
Pierwsze wydanie | 11 stycznia 2008 |
Wersja stabilna | 4.11.1 / 26 września 2019 r
|
Magazyn | |
Napisane w | C++ |
System operacyjny | Linux , BSD , macOS , Solaris , Windows |
Typ | Ramy multimedialne |
Licencja | Mniejsza Powszechna Licencja Publiczna GNU 2.1 |
Strona internetowa |
Phonon to multimedialny interfejs API dostarczany przez KDE i jest standardową abstrakcją do obsługi strumieni multimedialnych w oprogramowaniu KDE , a także używany przez kilka aplikacji Qt .
Phonon został pierwotnie stworzony, aby oprogramowanie KDE i Qt było niezależne od dowolnego frameworka multimedialnego, takiego jak GStreamer lub xine , oraz aby zapewnić stabilne API przez cały okres życia głównej wersji. Zrobiono to z różnych powodów: aby stworzyć prosty KDE / Qt , aby lepiej obsługiwać natywne frameworki multimedialne w systemach Windows i macOS oraz naprawić problemy z nieobsługiwanymi frameworkami lub niestabilnością API lub ABI .
Na przykład plik można odtworzyć w czterech liniach kodu C++ , w porównaniu do 30 linii w starym środowisku audio dla KDE ( aRts )
Phonon :: MediaObject * media = new Phonon :: MediaObject ( this ); createPath ( media , nowy Phonon :: AudioOutput ( Phonon :: MusicCategory , this )); media -> setCurrentSource ( QUrl ( "/tmp/example.wav" )); multimedia -> odtwarzanie ();
Phonon nie został zaprojektowany tak, aby zawierał wszystkie możliwe funkcje multimedialne, ale raczej jako prosty sposób wykonywania typowych funkcji komputerowych odtwarzaczy multimedialnych. Programistom, którzy wymagają większej kontroli nad danym zapleczem medialnym niż może zapewnić Phonon, zaleca się korzystanie z natywnego API mediów lub API GStreamer w systemach, dla których jest ono dostępne.
Historia
Pomysł stojący za Phononem narodził się na aKademy 2004 w Ludwigsburgu niedaleko Stuttgartu (Niemcy), gdzie trzeba było wybrać nowe multimedialne API, które miało zastąpić aRts. Nie osiągnięto konsensusu, ale kilku programistów zebrało się i postanowiło spróbować opracować nowy framework z wieloma backendami. Najwcześniejsza wersja nosiła nazwę KDEMM (KDE MultiMedia) i była obsługiwana tylko przez JuK i Amarok . Matthias Kretz kontynuował samodzielną pracę nad projektem w ramach swojej pracy uniwersyteckiej. Projekt ponownie zmienił nazwę, ale w lutym 2006 ostatecznie wybrano nazwę Phonon. Pierwsze oficjalne wydanie było częścią KDE 4.0 w styczniu 2008 roku, w tym samym roku, w którym Phonon został przyjęty przez Qt i wydany jako część Qt 4.4. Chociaż wsparcie dla Phonona w Qt będzie kontynuowane w serii 4.x, Qt już zastąpił Phonona QtMultimedia i QtMobility.
Cechy
- Interfejsy Phonon z różnymi backendami z tym, co programiści nazywają „silnikami”; każdy silnik działa z jednym konkretnym backendem. Każdy backend pozwoli Phononowi kontrolować podstawowe funkcje, takie jak odtwarzanie, pauza i wyszukiwanie. Phonon będzie również obsługiwał funkcje wyższego poziomu, takie jak sposób przenikania się ścieżek.
- Phonon może przełączać platformy multimedialne w locie. Użytkownik może przełączać się między ramami nawet podczas słuchania muzyki, z niewielką tylko przerwą podczas przełączania. Ta zmiana obejmie również cały system, wpływając na wszystkie aplikacje korzystające z Phonona, więc zmiana frameworków będzie znacznie łatwiejsza.
- Korzystając z Solid , Phonon zapewnia użytkownikom większą kontrolę nad akcesoriami, takimi jak zestawy słuchawkowe, głośniki i mikrofony. Podano przykład, że VoIP może być odtwarzana tylko przez zestaw słuchawkowy, a wszystkie inne dźwięki wydobywają się z głośników.
Backendy
- Obsługiwane backendy w większości systemów uniksopodobnych to GStreamer i VLC .
- Obsługiwane backendy w systemie Windows obejmują DirectShow , VLC i MPlayer .
- Obsługiwany backend w systemie macOS to QuickTime .
- xine i MPlayer są przestarzałe w Linuksie i nie są już rozwijane.
Zobacz też
- PulseAudio – dominujący serwer dźwięku do użytku stacjonarnego
- JACK Audio Connection Kit – dominujący serwer dźwięku do profesjonalnej produkcji audio
Linki zewnętrzne
- Strona główna Phonona
- Kod Phonon (hostowany w invent.kde.org)