Phonon: Difference between revisions

From KDE UserBase Wiki
(initial version)
 
(rewrite some stuff from phonon.kde.org)
Line 3: Line 3:
[[File:Phonon-logo.png]]
[[File:Phonon-logo.png]]


While Phonon is mostly developed with software developers in mind, and the design is centered around ease of development, but Phonon also provides several features and benefits for the end user.
While Phonon is mostly developed with software developers in mind, and the design is centered around ease of development, Phonon also provides several features and benefits for the end user.


__TOC__
__TOC__


==Features==
==Features==
::* '''Centralized configuration of audio and video:''' Configuration of hardware and media frameworks are offered in a single, centralized dialogue, so that applications don't have to reimplement specialized configuration dialogs.
:* '''Centralized configuration of audio and video:''' Configuration of hardware and media frameworks are offered in a single, centralized dialogue, so that applications don't have to reimplement specialized configuration dialogs.
::* '''Purpose driven design:''' Instead of demanding that you select special audio outputs for special applications, Phonon applications describe what kind of sound output they make (Notifications, Music, Video, Communication), and lets you select outputs for these categories individually.
:* '''Purpose driven design:''' Instead of demanding that you select special audio outputs for special applications, Phonon applications describe what kind of sound output they make (Notifications, Music, Video, Communication), and lets you select outputs for these categories individually.
::* '''Automated device selection:''' The use of pluggable audio and video devices like USB or Bluetooth headsets is almost ubiquitous today. Phonon acts on information and signals from [[Solid]], which is KDE's hardware subsystem, and automatically makes use of new devices.
:* '''Automated device selection:''' The use of pluggable audio and video devices like USB or Bluetooth headsets is almost ubiquitous today. Phonon acts on information and signals from [[Solid]], which is KDE's hardware subsystem, and automatically makes use of new devices.
 
==Troubleshooting==
:* '''No sound:''' There are many possible reasons for no sound at all.
::* '''Incorrect default ordering of devices:''' Phonon automatically tries to order available audio devices using information available and a database with device information shipped with it. Unfortunately this doesn't always works, but look under [[Phonon#GettingInvolved|Getting_Involved]] for information on how you can help fix this.
::* '''Missing device entries:''' This can be caused by [[Solid]] or other system libraries reporting the same name for several devices, which makes Phonon unable to properly display these devices to you. Please see [[Phonon#GettingInvolved|Getting_Involved]] on how to help fix this.
::* '''Unable to access audio device:''' If your user account has insufficient permissions to access the audio device, Phonon will be unable to play sound. Please consult the documentation of your distribution on how to ensure that your user account is properly set up (make sure that your user account is a part of the ''audio'' user account group).
:* '''Sound out of the wrong device:''' This is related to the point above this. Also make sure that the correct device is listed at the top in the "Sound and Video" area of System Settings. In case an audio device isn't available (an USB-headset unplugged, for example), Phonon will attempt the next device in the list.
:* '''Phonon causes a crash:''' Please search on [[http://bugs.kde.org/]] to see if the bug is already reported. If it isn't, please report it, and if it already exists but you have new information not already reported, please add your new information to the existing report.
:* '''Devices from ~/.asoundrc or /etc/asound.conf are not listed:''' Make sure you have a ''name hint'' set for your device. An example of a complete device entry, with a hint:
<pre>pcm.softvolPhonon {
    type softvol
    slave.pcm "default:CARD=0"
    control {
        name "Phonon"
        card 0
    }
    min_dB -51.0
    max_dB 0.0
    resolution 100
    hint {
        show on
        description "My Soundcard with extra Volume Control"
    }
}</pre>
 
==Backend libraries==
Phonon itself is just a thin shim, and makes use of ''backend libraries'' to provide the actual functionality.
:* '''Phonon-Xine:''' This is the first proper backend for Phonon, and is currently the most mature and recommended backend to use.
:* '''Phonon-VLC:''' VLC is a very popular cross-platform media player, and it is written using a multimedia library named ''libvlc'', which we also use to power a backend for Phonon. This is also under active development, and is receiving a lot of work from both VLC and Phonon developers.
:* '''Phonon-GStreamer:''' GStreamer is a multimedia library from the GNOME project. This backend is not recommended due to a lack of volunteers for maintaining it.
:* '''Phonon-DS9:''' This is a native backend for Microsoft Windows utilizing DirectShow 9.
:* '''Phonon-QT7:''' This is a native backend for Mac OS X, utilizing QuickTime 7.
:* '''Phonon-MPlayer:''' This is a third-party backend for Phonon, utilizing the popular ''mplayer'' application for playback.
:* '''Phonon-NMM:''' This is an abandoned and unmaintained backend started by the Graphics Lab at Saarland University and Motama.
 
==Getting Involved==
There are several ways you can get involved as a user.
:* '''Reporting audio hardware:''' Download the [[http://websvn.kde.org/*checkout*/trunk/KDE/kdebase/runtime/phonon/libkaudiodevicelist/soundcardinfo.sh|soundcard.sh]] script and run it, and attach the output to [[http://bugs.kde.org/]]. This enables us to add your hardware information to our audio device database.
:* '''Quality assurance:''' Simply run and use Phonon, and report bugs and irregularities to the developers.
:* '''Documentation:''' You can help expand this page and other Phonon documentation. It doesn't take much help, and it helps!
:* '''Promotion:''' Spreading the word about KDE and Phonon is always welcome.
:* '''Appreciation:''' Encouraging words can help lift the spirits of weary multimedia developers way beyond the clouds, when faced with nasty bugs and other challenges. Positive emails, messages on IRC, beer, pizza, gadgets and other developer fuel is very welcome!

Revision as of 22:12, 27 July 2010

Template:I18n/Language Navigation Bar

While Phonon is mostly developed with software developers in mind, and the design is centered around ease of development, Phonon also provides several features and benefits for the end user.

Features

  • Centralized configuration of audio and video: Configuration of hardware and media frameworks are offered in a single, centralized dialogue, so that applications don't have to reimplement specialized configuration dialogs.
  • Purpose driven design: Instead of demanding that you select special audio outputs for special applications, Phonon applications describe what kind of sound output they make (Notifications, Music, Video, Communication), and lets you select outputs for these categories individually.
  • Automated device selection: The use of pluggable audio and video devices like USB or Bluetooth headsets is almost ubiquitous today. Phonon acts on information and signals from Solid, which is KDE's hardware subsystem, and automatically makes use of new devices.

Troubleshooting

  • No sound: There are many possible reasons for no sound at all.
  • Incorrect default ordering of devices: Phonon automatically tries to order available audio devices using information available and a database with device information shipped with it. Unfortunately this doesn't always works, but look under Getting_Involved for information on how you can help fix this.
  • Missing device entries: This can be caused by Solid or other system libraries reporting the same name for several devices, which makes Phonon unable to properly display these devices to you. Please see Getting_Involved on how to help fix this.
  • Unable to access audio device: If your user account has insufficient permissions to access the audio device, Phonon will be unable to play sound. Please consult the documentation of your distribution on how to ensure that your user account is properly set up (make sure that your user account is a part of the audio user account group).
  • Sound out of the wrong device: This is related to the point above this. Also make sure that the correct device is listed at the top in the "Sound and Video" area of System Settings. In case an audio device isn't available (an USB-headset unplugged, for example), Phonon will attempt the next device in the list.
  • Phonon causes a crash: Please search on [[1]] to see if the bug is already reported. If it isn't, please report it, and if it already exists but you have new information not already reported, please add your new information to the existing report.
  • Devices from ~/.asoundrc or /etc/asound.conf are not listed: Make sure you have a name hint set for your device. An example of a complete device entry, with a hint:
pcm.softvolPhonon {
    type softvol
    slave.pcm "default:CARD=0"
    control {
        name "Phonon"
        card 0
    }
    min_dB -51.0
    max_dB 0.0
    resolution 100
    hint {
        show on
        description "My Soundcard with extra Volume Control"
    }
}

Backend libraries

Phonon itself is just a thin shim, and makes use of backend libraries to provide the actual functionality.

  • Phonon-Xine: This is the first proper backend for Phonon, and is currently the most mature and recommended backend to use.
  • Phonon-VLC: VLC is a very popular cross-platform media player, and it is written using a multimedia library named libvlc, which we also use to power a backend for Phonon. This is also under active development, and is receiving a lot of work from both VLC and Phonon developers.
  • Phonon-GStreamer: GStreamer is a multimedia library from the GNOME project. This backend is not recommended due to a lack of volunteers for maintaining it.
  • Phonon-DS9: This is a native backend for Microsoft Windows utilizing DirectShow 9.
  • Phonon-QT7: This is a native backend for Mac OS X, utilizing QuickTime 7.
  • Phonon-MPlayer: This is a third-party backend for Phonon, utilizing the popular mplayer application for playback.
  • Phonon-NMM: This is an abandoned and unmaintained backend started by the Graphics Lab at Saarland University and Motama.

Getting Involved

There are several ways you can get involved as a user.

  • Reporting audio hardware: Download the [[2]] script and run it, and attach the output to [[3]]. This enables us to add your hardware information to our audio device database.
  • Quality assurance: Simply run and use Phonon, and report bugs and irregularities to the developers.
  • Documentation: You can help expand this page and other Phonon documentation. It doesn't take much help, and it helps!
  • Promotion: Spreading the word about KDE and Phonon is always welcome.
  • Appreciation: Encouraging words can help lift the spirits of weary multimedia developers way beyond the clouds, when faced with nasty bugs and other challenges. Positive emails, messages on IRC, beer, pizza, gadgets and other developer fuel is very welcome!