# Namespace Phonon

Module | phonon
Namespace | Phonon

### classes

Phonon.AbstractMediaStream | Phonon.MediaNode | Phonon.SeekSlider
Phonon.AbstractMediaStream2 | Phonon.MediaObject | Phonon.StreamInterface
Phonon.AbstractVideoOutput | Phonon.MediaSource | Phonon.StreamInterface2
Phonon.AudioOutput | Phonon.ObjectDescription | Phonon.VideoPlayer
Phonon.Effect | Phonon.ObjectDescriptionData | Phonon.VideoWidget
Phonon.EffectParameter | Phonon.ObjectDescriptionModel | Phonon.VideoWidgetInterface
Phonon.EffectWidget | Phonon.ObjectDescriptionModelData | Phonon.VolumeFaderEffect
Phonon.MediaController | Phonon.Path | Phonon.VolumeSlider

### enums

- ObjectDescriptionType { AudioOutputDeviceType, EffectType, AudioChannelType, SubtitleType, AudioCaptureDeviceType }

enum details

### methods

- createPath (source, sink)

  returns Phonon.Path

  Argument | Type | Default
  --- | --- | ---
  source | Phonon.MediaNode |
  sink | Phonon.MediaNode |

- createPlayer (category, source)

  returns Phonon.MediaObject

  Argument | Type | Default
  --- | --- | ---
  category | Phonon.Category |
  source | Phonon.MediaSource | Phonon.MediaSource()

- qHash (param)

  returns uint

  Argument | Type | Default
  --- | --- | ---
  param | Phonon.EffectParameter |

### enums - detail

- ObjectDescriptionType { AudioOutputDeviceType, EffectType, AudioChannelType, SubtitleType, AudioCaptureDeviceType }

  Audio output devices. This can be soundcards (with different drivers), soundservers or other virtual outputs like playback on a different computer on the network.

  For Hardware devices the backend should use libkaudiodevicelist (\ref AudioDevice and AudioDeviceEnumerator) which will list removable devices even when they are unplugged and provide a unique identifier that can make backends use the same identifiers.

  | AudioOutputDeviceType | - | - |
  | EffectType | - | - |
  | AudioChannelType | - | - |
  | SubtitleType | - | - |
  | AudioCaptureDeviceType | - | - |