adapt to phonon-Trolltech branch API changes

svn path=/trunk/KDE/kdegraphics/okular/; revision=698536
remotes/origin/KDE/4.0
Matthias Kretz 19 years ago
parent 005267e0af
commit 4e7fa038b4
  1. 59
      core/audioplayer.cpp

@ -15,7 +15,7 @@
#include <qdir.h> #include <qdir.h>
#include <kdebug.h> #include <kdebug.h>
#include <krandom.h> #include <krandom.h>
#include <phonon/audiopath.h> #include <Phonon/Path>
#include <phonon/audiooutput.h> #include <phonon/audiooutput.h>
#include <phonon/abstractmediastream.h> #include <phonon/abstractmediastream.h>
#include <phonon/mediaobject.h> #include <phonon/mediaobject.h>
@ -55,7 +55,7 @@ class PlayData
{ {
public: public:
PlayData() PlayData()
: m_mediaobject( 0 ), m_path( 0 ), m_output( 0 ), m_buffer( 0 ) : m_mediaobject( 0 ), m_output( 0 ), m_buffer( 0 )
{ {
} }
@ -72,13 +72,11 @@ public:
{ {
m_mediaobject->stop(); m_mediaobject->stop();
delete m_mediaobject; delete m_mediaobject;
delete m_path;
delete m_output; delete m_output;
delete m_buffer; delete m_buffer;
} }
Phonon::MediaObject * m_mediaobject; Phonon::MediaObject * m_mediaobject;
Phonon::AudioPath * m_path;
Phonon::AudioOutput * m_output; Phonon::AudioOutput * m_output;
QBuffer * m_buffer; QBuffer * m_buffer;
SoundInfo m_info; SoundInfo m_info;
@ -115,9 +113,8 @@ bool AudioPlayerPrivate::play( const SoundInfo& si )
PlayData * data = new PlayData(); PlayData * data = new PlayData();
data->m_output = new Phonon::AudioOutput( Phonon::NotificationCategory ); data->m_output = new Phonon::AudioOutput( Phonon::NotificationCategory );
data->m_output->setVolume( si.volume ); data->m_output->setVolume( si.volume );
data->m_path = new Phonon::AudioPath();
data->m_path->addOutput( data->m_output );
data->m_mediaobject = new Phonon::MediaObject(); data->m_mediaobject = new Phonon::MediaObject();
Phonon::createPath(data->m_mediaobject, data->m_output);
data->m_info = si; data->m_info = si;
bool valid = false; bool valid = false;
@ -129,25 +126,22 @@ bool AudioPlayerPrivate::play( const SoundInfo& si )
kDebug() << "[AudioPlayer::Playinfo::play()] External," << url; kDebug() << "[AudioPlayer::Playinfo::play()] External," << url;
if ( !url.isEmpty() ) if ( !url.isEmpty() )
{ {
if ( data->m_mediaobject->addAudioPath( data->m_path ) ) int newid = newId();
m_mapper.setMapping( data->m_mediaobject, newid );
KUrl newurl;
if ( KUrl::isRelativeUrl( url ) )
{ {
int newid = newId(); newurl = m_currentDocument;
m_mapper.setMapping( data->m_mediaobject, newid ); newurl.setFileName( url );
KUrl newurl;
if ( KUrl::isRelativeUrl( url ) )
{
newurl = m_currentDocument;
newurl.setFileName( url );
}
else
{
newurl = url;
}
data->m_mediaobject->setCurrentSource( newurl );
m_playing.insert( newid, data );
valid = true;
kDebug() << "[AudioPlayer::Playinfo::play()] PLAY url";
} }
else
{
newurl = url;
}
data->m_mediaobject->setCurrentSource( newurl );
m_playing.insert( newid, data );
valid = true;
kDebug() << "[AudioPlayer::Playinfo::play()] PLAY url";
} }
break; break;
} }
@ -159,17 +153,14 @@ bool AudioPlayerPrivate::play( const SoundInfo& si )
if ( !filedata.isEmpty() ) if ( !filedata.isEmpty() )
{ {
kDebug() << "[AudioPlayer::Playinfo::play()] mediaobject:" << data->m_mediaobject; kDebug() << "[AudioPlayer::Playinfo::play()] mediaobject:" << data->m_mediaobject;
if ( data->m_mediaobject->addAudioPath( data->m_path ) ) int newid = newId();
{ m_mapper.setMapping( data->m_mediaobject, newid );
int newid = newId(); data->m_buffer = new QBuffer();
m_mapper.setMapping( data->m_mediaobject, newid ); data->m_buffer->setData( filedata );
data->m_buffer = new QBuffer(); data->m_mediaobject->setCurrentSource( Phonon::MediaSource( data->m_buffer ) );
data->m_buffer->setData( filedata ); m_playing.insert( newid, data );
data->m_mediaobject->setCurrentSource( Phonon::MediaSource( data->m_buffer ) ); valid = true;
m_playing.insert( newid, data ); kDebug() << "[AudioPlayer::Playinfo::play()] PLAY data";
valid = true;
kDebug() << "[AudioPlayer::Playinfo::play()] PLAY data";
}
} }
#endif #endif
break; break;

Loading…
Cancel
Save