public unsafe Player(Connect connect, object observer) { IntPtr intptr = new IntPtr(this.GetHashCode()); refKeeper[intptr] = this; libcPlayerHndl = dz_player_new(connect.libcConnectHndl); this.connect = connect; onMetaDatacb = (libcPlayer, trackMetadata, userdata) => { Debug.WriteLine($"trackMetadata: {trackMetadata}"); }; dz_player_set_metadata_cb(libcPlayerHndl, onMetaDatacb); onIndexProgress = (libcPlayer, progressMicroseconds, userdata) => { OnProgressChanged(progressMicroseconds); }; dz_player_set_index_progress_cb(libcPlayerHndl, onIndexProgress, 1000000); onRenderProgress = (libcPlayer, progressMicroseconds, userdata) => { OnRenderChanged(progressMicroseconds); }; dz_player_set_render_progress_cb(libcPlayerHndl, onRenderProgress, 1000000); }
public unsafe Player(Connect connect, object observer) { IntPtr intptr = new IntPtr(this.GetHashCode()); refKeeper[intptr] = this; libcPlayerHndl = dz_player_new(connect.libcConnectHndl); this.connect = connect; }
static extern unsafe ERRORS dz_player_set_repeat_mode(PLAYER *dzplayer, IntPtr cb, IntPtr userData, QUEUELIST_REPEAT_MODE mode);
static extern unsafe ERRORS dz_player_set_output_volume(PLAYER *dzplayer, IntPtr cb, IntPtr userData, uint volume);
static extern unsafe ERRORS dz_player_stop(PLAYER *dzPlayer, IntPtr cb, IntPtr userdata);
static extern unsafe ERRORS dz_player_resume(PLAYER *dzplayer, IntPtr cb, IntPtr userData);
static extern unsafe ERRORS dz_player_load(PLAYER *dzPlayer, IntPtr cb, IntPtr userdata, string url);
static extern unsafe ERRORS dz_player_play(PLAYER *dzPlayer, IntPtr cb, IntPtr userdata, PLAYER_COMMANDS cmd, int mode);
static extern unsafe ERRORS dz_player_set_render_progress_cb(PLAYER *lpcc, libcPlayerOnRenderProgressCb cb, ulong refreshUs);
static extern unsafe ERRORS dz_player_activate(PLAYER *dzPlayer, IntPtr userdata);
static extern unsafe ERRORS dz_player_play_audioads(PLAYER *lpcc, libcPlayerOnEventCb cb, IntPtr operation_userdata);
static extern unsafe ERRORS dz_player_deactivate(PLAYER *dzplayer, IntPtr cb, IntPtr userData);
static extern unsafe DZ_TRACK_QUALITY dz_player_get_track_quality(PLAYER *lpcc);
static extern unsafe ERRORS dz_player_cache_next(PLAYER *lpcc, libcPlayerOnEventCb cb, IntPtr userData, string trackUrl);
static extern unsafe ERRORS dz_player_load_radio(PLAYER *lpcc, libcPlayerOnEventCb cb, IntPtr userData, string radioType, string radioId);
static extern unsafe ERRORS dz_player_set_track_quality(PLAYER *lpcc, IntPtr cb, IntPtr userData, DZ_TRACK_QUALITY trackQuality);
static extern unsafe ERRORS dz_player_seek(PLAYER *lpcc, IntPtr cb, IntPtr userData, ulong positionMicroseconds);
static extern unsafe ERRORS dz_player_set_event_cb(PLAYER *lpcc, libcPlayerOnEventCb cb);
static extern unsafe ERRORS dz_player_set_metadata_cb(PLAYER *lpcc, libcPlayerOnMetaDataCb cb);