wxMEDIASTATE_PLAYING=0
};
+enum wxMediaCtrlPlayerControls
+{
+ wxMEDIACTRLPLAYERCONTROLS_NONE,
+ wxMEDIACTRLPLAYERCONTROLS_STEP,
+ wxMEDIACTRLPLAYERCONTROLS_VOLUME,
+ wxMEDIACTRLPLAYERCONTROLS_DEFAULT
+};
+
+static wxString wxMEDIABACKEND_DIRECTSHOW(wxEmptyString);
+static wxString wxMEDIABACKEND_MCI (wxEmptyString);
+static wxString wxMEDIABACKEND_QUICKTIME (wxEmptyString);
+static wxString wxMEDIABACKEND_GSTREAMER (wxEmptyString);
+static wxString wxMEDIABACKEND_REALPLAYER(wxEmptyString);
+static wxString wxMEDIABACKEND_WMP10 (wxEmptyString);
+
class wxMediaEvent : public wxNotifyEvent
{
bool Pause() { return false; }
bool Stop() { return false; }
- bool Load(const wxString& fileName) { return false; }
- bool Load(const wxURI& location) { return false; }
-
wxMediaState GetState() { return wxMEDIASTATE_STOPPED; }
double GetPlaybackRate() { return 0.0; }
wxFileOffset Tell() { return 0; }
wxFileOffset Length() { return 0; }
+
+ double GetVolume() { return 0.0; }
+ bool SetVolume(double dVolume) { return false; }
+
+ bool ShowPlayerControls(
+ wxMediaCtrlPlayerControls flags = wxMEDIACTRLPLAYERCONTROLS_DEFAULT)
+ { return false; }
+
+ bool Load(const wxString& fileName) { return false; }
+ bool LoadURI(const wxString& fileName) { return false; }
+ bool LoadURIWithProxy(const wxString& fileName, const wxString& proxy) { return false; }
+
+ wxFileOffset GetDownloadProgress() { return 0; }
+ wxFileOffset GetDownloadTotal() { return 0; }
+
};
const wxEventType wxEVT_MEDIA_FINISHED = 0;
const wxEventType wxEVT_MEDIA_STOP = 0;
+const wxEventType wxEVT_MEDIA_LOADED = 0;
+const wxEventType wxEVT_MEDIA_STATECHANGED = 0;
+const wxEventType wxEVT_MEDIA_PLAY = 0;
+const wxEventType wxEVT_MEDIA_PAUSE = 0;
#endif
%}
};
+enum wxMediaCtrlPlayerControls
+{
+ wxMEDIACTRLPLAYERCONTROLS_NONE,
+ wxMEDIACTRLPLAYERCONTROLS_STEP,
+ wxMEDIACTRLPLAYERCONTROLS_VOLUME,
+ wxMEDIACTRLPLAYERCONTROLS_DEFAULT
+};
+
-// MAKE_CONST_WXSTRING(MEDIABACKEND_DIRECTSHOW);
-// MAKE_CONST_WXSTRING(MEDIABACKEND_MCI );
-// MAKE_CONST_WXSTRING(MEDIABACKEND_QUICKTIME );
+MAKE_CONST_WXSTRING(MEDIABACKEND_DIRECTSHOW);
+MAKE_CONST_WXSTRING(MEDIABACKEND_MCI );
+MAKE_CONST_WXSTRING(MEDIABACKEND_QUICKTIME );
+MAKE_CONST_WXSTRING(MEDIABACKEND_GSTREAMER );
+MAKE_CONST_WXSTRING(MEDIABACKEND_REALPLAYER);
+MAKE_CONST_WXSTRING(MEDIABACKEND_WMP10);
//---------------------------------------------------------------------------
bool Pause();
bool Stop();
- bool Load(const wxString& fileName);
- %extend {
- bool LoadFromURI(const wxString& location) {
- return self->Load(wxURI(location));
- }
- }
-
wxMediaState GetState();
double GetPlaybackRate();
wxFileOffset Seek(wxFileOffset where, wxSeekMode mode = wxFromStart);
wxFileOffset Tell();
wxFileOffset Length();
+
+ double GetVolume();
+ bool SetVolume(double dVolume);
+
+ bool ShowPlayerControls(
+ wxMediaCtrlPlayerControls flags = wxMEDIACTRLPLAYERCONTROLS_DEFAULT);
+
+ bool Load(const wxString& fileName);
+ bool LoadURI(const wxString& fileName);
+ bool LoadURIWithProxy(const wxString& fileName, const wxString& proxy);
+ %pythoncode { LoadFromURI = LoadURI }
+
+ wxFileOffset GetDownloadProgress(); // DirectShow only
+ wxFileOffset GetDownloadTotal(); // DirectShow only
+
};
%constant wxEventType wxEVT_MEDIA_FINISHED;
%constant wxEventType wxEVT_MEDIA_STOP;
+%constant wxEventType wxEVT_MEDIA_LOADED;
+%constant wxEventType wxEVT_MEDIA_STATECHANGED;
+%constant wxEventType wxEVT_MEDIA_PLAY;
+%constant wxEventType wxEVT_MEDIA_PAUSE;
+
%pythoncode {
-EVT_MEDIA_FINISHED = wx.PyEventBinder( wxEVT_MEDIA_FINISHED, 1)
-EVT_MEDIA_STOP = wx.PyEventBinder( wxEVT_MEDIA_STOP, 1)
+EVT_MEDIA_FINISHED = wx.PyEventBinder( wxEVT_MEDIA_FINISHED, 1)
+EVT_MEDIA_STOP = wx.PyEventBinder( wxEVT_MEDIA_STOP, 1)
+EVT_MEDIA_LOADED = wx.PyEventBinder( wxEVT_MEDIA_LOADED, 1)
+EVT_MEDIA_STATECHANGED = wx.PyEventBinder( wxEVT_MEDIA_STATECHANGED, 1)
+EVT_MEDIA_PLAY = wx.PyEventBinder( wxEVT_MEDIA_PLAY, 1)
+EVT_MEDIA_PAUSE = wx.PyEventBinder( wxEVT_MEDIA_PAUSE, 1)
}
//---------------------------------------------------------------------------