⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mediaplayerstate.h

📁 Trolltech公司发布的图形界面操作系统。可在qt-embedded-2.3.10平台上编译为嵌入式图形界面操作系统。
💻 H
字号:
/************************************************************************ Copyright (C) 2000-2005 Trolltech AS.  All rights reserved.**** This file is part of the Qtopia Environment.** ** This program is free software; you can redistribute it and/or modify it** under the terms of the GNU General Public License as published by the** Free Software Foundation; either version 2 of the License, or (at your** option) any later version.** ** A copy of the GNU GPL license version 2 is included in this package as ** LICENSE.GPL.**** This program is distributed in the hope that it will be useful, but** WITHOUT ANY WARRANTY; without even the implied warranty of** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ** See the GNU General Public License for more details.**** In addition, as a special exception Trolltech gives permission to link** the code of this program with Qtopia applications copyrighted, developed** and distributed by Trolltech under the terms of the Qtopia Personal Use** License Agreement. You must comply with the GNU General Public License** in all respects for all of the code used other than the applications** licensed under the Qtopia Personal Use License Agreement. If you modify** this file, you may extend this exception to your version of the file,** but you are not obligated to do so. If you do not wish to do so, delete** this exception statement from your version.** ** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#ifndef MEDIA_PLAYER_STATE_H#define MEDIA_PLAYER_STATE_H#include <qobject.h>#include "mutex.h"enum View {    ListView,    VideoView,    AudioView};enum DecoderVersion {    Decoder_Unknown,    Decoder_1_5,    Decoder_1_6};class MediaPlayerDecoder;class Config;class MediaPlayerState : public QObject {Q_OBJECTpublic:    MediaPlayerState( QObject *parent, const char *name );    ~MediaPlayerState();    void loadPlugins();    void unloadPlugins();    bool fullscreen()		 { return isFullscreen; }    bool scaled()		 { return isScaled; }    bool looping()		 { return isLooping; }    bool shuffled()		 { return isShuffled; }    bool paused()		 { return isPaused; }    bool playing()		 { return isPlaying; }    bool seeking()		 { return isSeeking; }    bool seekable()		 { return isSeekable; }    long position()		 { return curPosition; }    long length()		 { return curLength; }    bool hasLength()		 { return (curLength > 1); }    View view()			 { return curView; }    QString skin()		 { return curSkin; }    void closeView()		 { emit viewClosed(); }    MediaPlayerDecoder* decoder( const QString& file = QString::null );    MediaPlayerDecoder* streamingDecoder( const QString& url, const QString& mimetype );    DecoderVersion decoderVersion() { return curDecoderVersion; }public slots:    void setFullscreen( bool b ) { if ( isFullscreen == b ) return; isFullscreen = b; emit fullscreenToggled(b); }    void setScaled( bool b )     { if ( isScaled     == b ) return; isScaled = b;     emit scaledToggled(b); }    void setLooping( bool b )    { if ( isLooping    == b ) return; isLooping = b;    emit loopingToggled(b); }    void setShuffled( bool b )   { if ( isShuffled   == b ) return; isShuffled = b;   emit shuffledToggled(b); }    void setPaused( bool b )	 { if ( isPaused     == b ) return; isPaused = b;     emit pausedToggled(b); }    void setPlaying( bool b )	 { if ( isPlaying    == b ) return; isPlaying = b;    emit playingToggled(b); }    void setSeeking( bool b )	 { if ( isSeeking    == b ) return; isSeeking = b;    emit seekingToggled(b); }    void setSeekable( bool b )	 { if ( isSeekable   == b ) return; isSeekable = b;   emit seekableToggled(b); }    void setPosition( long p )   { if ( curPosition  == p ) return; curPosition = p;  emit positionChanged(p); }    void updatePosition( long p ){ if ( curPosition  == p ) return; curPosition = p;  emit positionUpdated(p); }    void setLength( long l )	 { if ( curLength    == l ) return; curLength = l;    emit lengthChanged(l); }    void setView( View v )	 { if ( curView      == v ) return; curView = v;      emit viewChanged(v); }    void setSkin( const QString& s ) { if ( curSkin  == s ) return; curSkin = s;      emit skinChanged(s); }    void setPrev()		 { emit prev(); }    void setNext()		 { emit next(); }    void setList()		 { setPlaying( FALSE ); setView( ListView ); }    void setVideo()		 { setView( VideoView ); }    void setAudio()		 { setView( AudioView ); }    void setPlaying()		 { setPlaying( TRUE ); }    void setSeeking()		 { setSeeking( TRUE ); }    void setSeekable()		 { setSeekable( TRUE ); }    void setPrevTab()		 { emit prevTab(); }    void setNextTab()		 { emit nextTab(); }    void toggleFullscreen()	 { setFullscreen( !isFullscreen ); }    void toggleScaled()		 { setScaled( !isScaled ); }    void toggleLooping()	 { setLooping( !isLooping ); }    void toggleShuffled()	 { setShuffled( !isShuffled ); }    void togglePaused()		 { setPaused( !isPaused ); }    void togglePlaying()	 { setPlaying( !isPlaying ); }    void toggleSeeking()	 { setSeeking( !isSeeking ); }    void toggleSeekable()	 { setSeekable( !isSeekable ); }    void startTemporaryMute();    void stopTemporaryMute();    void stopTemporaryMute( int delay );signals:    void decreaseVolume();    void increaseVolume();    void endDecreaseVolume();    void endIncreaseVolume();    void scanBackward();    void scanForward();    void endScanBackward();    void endScanForward();    void fullscreenToggled( bool );    void scaledToggled( bool );    void loopingToggled( bool );    void shuffledToggled( bool );    void playlistToggled( bool );    void pausedToggled( bool );    void playingToggled( bool );    void seekingToggled( bool );    void seekableToggled( bool );    void positionChanged( long ); // When the slider is moved    void positionUpdated( long ); // When the media file progresses    void lengthChanged( long );    void viewChanged( View );    void viewClosed();    void skinChanged( const QString& );    void prev();    void next();    void prevTab();    void nextTab();private:    Mutex mutex;    MediaPlayerDecoder *curDecoder;    DecoderVersion curDecoderVersion;    bool temporaryIsMuted;    unsigned int temporaryMuteRefCount;    bool isFullscreen;    bool isScaled;    bool isLooping;    bool isShuffled;    bool isPaused;    bool isPlaying;    bool isSeeking;    bool isSeekable;    long curPosition;    long curLength;    View curView;    QString curSkin;    void readConfig( Config& cfg );    void writeConfig( Config& cfg ) const;};extern MediaPlayerState *mediaPlayerState;#endif // MEDIA_PLAYER_STATE_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -