diff -r eb79a7c355bf -r b93f525c9244 mpengine/src/mpmediakeyhandler_p.cpp --- a/mpengine/src/mpmediakeyhandler_p.cpp Fri Jun 11 19:36:32 2010 -0500 +++ b/mpengine/src/mpmediakeyhandler_p.cpp Fri Jun 25 17:21:37 2010 -0500 @@ -405,13 +405,63 @@ TMPXPlaybackState playerState( iPlaybackUtility->StateL() ); switch ( aCommandId ) { + case EPbCmdPlayPause: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused + || playerState == EPbStateStopped ) { + iPlaybackUtility->CommandL( EPbCmdPlayPause ); + } + break; + case EPbCmdPlay: + if ( playerState == EPbStateStopped || playerState == EPbStatePaused ) { + iPlaybackUtility->CommandL( EPbCmdPlay ); + } + break; + case EPbCmdStop: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused ) { + iPlaybackUtility->CommandL( EPbCmdStop ); + } + break; + case EPbCmdPause: + if ( playerState == EPbStatePlaying ) { + iPlaybackUtility->CommandL( EPbCmdPause ); + } + break; + case EPbCmdStartSeekBackward: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused ) { + iPlaybackUtility->CommandL( EPbCmdStartSeekBackward ); + } + break; + case EPbCmdStartSeekForward: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused ) { + iPlaybackUtility->CommandL( EPbCmdStartSeekForward ); + } + break; + case EPbCmdStopSeeking: + if ( playerState == EPbStateSeekingBackward || playerState == EPbStateSeekingForward ) { + iPlaybackUtility->CommandL( EPbCmdStopSeeking ); + } + break; + case EPbCmdPrevious: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused + || playerState == EPbStateStopped ) { + iPlaybackUtility->CommandL( EPbCmdPrevious ); + } + break; + case EPbCmdNext: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused + || playerState == EPbStateStopped ) { + iPlaybackUtility->CommandL( EPbCmdNext ); + } + break; case EPbCmdIncreaseVolume: - if ( EPbStatePlaying == playerState ) { + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused + || playerState == EPbStateStopped ) { iPlaybackUtility->CommandL( EPbCmdIncreaseVolume ); } break; case EPbCmdDecreaseVolume: - if ( EPbStatePlaying == playerState ) { + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused + || playerState == EPbStateStopped ) { iPlaybackUtility->CommandL( EPbCmdDecreaseVolume ); } break; @@ -419,7 +469,6 @@ break; } } - } // --------------------------------------------------------------------------- @@ -431,7 +480,6 @@ static_cast( aPtr )->HandleRepeatEvent(); - return KErrNone; }