• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# PlaybackState类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中PlaybackState的典型用法代码示例。如果您正苦于以下问题:C# PlaybackState类的具体用法?C# PlaybackState怎么用?C# PlaybackState使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



PlaybackState类属于命名空间,在下文中一共展示了PlaybackState类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: MediaStateChangedEventArgs

		public MediaStateChangedEventArgs(BufferState bufferState, NetworkState networkState, PlaybackState playbackState, SeekState seekState)
		{
			this.bufferState = bufferState;
			this.networkState = networkState;
			this.playbackState = playbackState;
			this.seekState = seekState;
		}
开发者ID:bossaia,项目名称:alexandrialibrary,代码行数:7,代码来源:MediaStateChangedEventArgs.cs


示例2: MediaEngine_MediaStateChanged

        private void MediaEngine_MediaStateChanged(MediaState state)
        {
            switch (state)
            {
                case MediaState.Loading:
                    this.PlaybackState = PlaybackState.Loading;

                    break;

                case MediaState.Stopped:
                    this.PlaybackState = PlaybackState.Paused;

                    break;

                case MediaState.Playing:
                    this.PlaybackState = PlaybackState.Playing;
                    break;

                case MediaState.Error:
                    this.PlaybackState = PlaybackState.Error_MediaInvalid;
                    break;

                case MediaState.Ended:
                    this.PlaybackState = PlaybackState.Ended;
                    break;
            }
        }
开发者ID:codekaizen,项目名称:internetradio,代码行数:27,代码来源:MediaEnginePlaybackManager.cs


示例3: Convert

 public static PlayerState? Convert(PlaybackState? inState)
 {
     if(!inState.HasValue) {
         return null;
     } else {
         return Convert(inState.Value);
     }
 }
开发者ID:GWigWam,项目名称:SpeechMusicController,代码行数:8,代码来源:PlayerState.cs


示例4: Form1

        public Form1()
        {
            InitializeComponent();

            m_state = PlaybackState.Closed;
            m_pPlayer = new DShowPlayer(panVideoWin, Handle, WM_GRAPH_EVENT);
            m_bDrag = false;
        }
开发者ID:adambyram,项目名称:pimaker,代码行数:8,代码来源:Form1.cs


示例5: MediaNotificationManager

        public MediaNotificationManager(MusicService serv)
        {
            service = serv;
            UpdateSessionToken();

            notificationColor = ResourceHelper.GetThemeColor(service,
                Android.Resource.Attribute.ColorPrimary, Color.DarkGray);

            notificationManager = (NotificationManager) service
                .GetSystemService(Context.NotificationService);

            string pkg = service.PackageName;
            pauseIntent = PendingIntent.GetBroadcast(service, RequestCode,
                new Intent(ActionPause).SetPackage(pkg), PendingIntentFlags.CancelCurrent);
            playIntent = PendingIntent.GetBroadcast(service, RequestCode,
                new Intent(ActionPlay).SetPackage(pkg), PendingIntentFlags.CancelCurrent);
            previousIntent = PendingIntent.GetBroadcast(service, RequestCode,
                new Intent(ActionPrev).SetPackage(pkg), PendingIntentFlags.CancelCurrent);
            nextIntent = PendingIntent.GetBroadcast(service, RequestCode,
                new Intent(ActionNext).SetPackage(pkg), PendingIntentFlags.CancelCurrent);

            notificationManager.CancelAll ();

            mCb.OnPlaybackStateChangedImpl = (state) => {
                playbackState = state;
                LogHelper.Debug (Tag, "Received new playback state", state);
                if (state != null && (state.State == PlaybackStateCode.Stopped ||
                    state.State == PlaybackStateCode.None)) {
                    StopNotification ();
                } else {
                    Notification notification = CreateNotification ();
                    if (notification != null) {
                        notificationManager.Notify (NotificationId, notification);
                    }
                }
            };

            mCb.OnMetadataChangedImpl = (meta) => {
                metadata = meta;
                LogHelper.Debug (Tag, "Received new metadata ", metadata);
                Notification notification = CreateNotification ();
                if (notification != null) {
                    notificationManager.Notify (NotificationId, notification);
                }
            };

            mCb.OnSessionDestroyedImpl = () => {
                LogHelper.Debug (Tag, "Session was destroyed, resetting to the new session token");
                UpdateSessionToken ();
            };
        }
开发者ID:CHANDAN145,项目名称:monodroid-samples,代码行数:51,代码来源:MediaNotificationManager.cs


示例6: Play

        /// <summary>
        /// Begin playback
        /// </summary>
        public void Play()
        {
            if (playbackState == PlaybackState.Stopped)
            {
                // -------------------------------------------------------------------------------------
                // Thread that process samples
                // -------------------------------------------------------------------------------------
                notifyThread = new Thread(new ThreadStart(processSamples));
                // put this back to highest when we are confident we don't have any bugs in the thread proc
                notifyThread.Priority = ThreadPriority.Normal;
                notifyThread.IsBackground = true;
                notifyThread.Start();
            }

            lock (m_LockObject)
            {
                playbackState = PlaybackState.Playing;
            }
        }
开发者ID:Punloeu,项目名称:karaoke,代码行数:22,代码来源:DirectSoundOut.cs


示例7: Init

        /// <summary>
        /// Initialises the WaveOut device
        /// </summary>
        /// <param name="waveProvider">WaveProvider to play</param>
        public void Init(IWaveProvider waveProvider)
        {
            this.waveStream = waveProvider;
            int bufferSize = waveProvider.WaveFormat.ConvertLatencyToByteSize((DesiredLatency + NumberOfBuffers - 1) / NumberOfBuffers);            

            MmResult result;
            lock (waveOutLock)
            {
                result = WaveInterop.waveOutOpenWindow(out hWaveOut, (IntPtr)DeviceNumber, waveStream.WaveFormat, callbackEvent.SafeWaitHandle.DangerousGetHandle(), IntPtr.Zero, WaveInterop.WaveInOutOpenFlags.CallbackEvent);
            }
            MmException.Try(result, "waveOutOpen");

            buffers = new WaveOutBuffer[NumberOfBuffers];
            playbackState = PlaybackState.Stopped;
            for (int n = 0; n < NumberOfBuffers; n++)
            {
                buffers[n] = new WaveOutBuffer(hWaveOut, bufferSize, waveStream, waveOutLock);
            }
        }
开发者ID:LuckyLuik,项目名称:_GLDNBT,代码行数:23,代码来源:WaveOutEvent.cs


示例8: play

        /// <summary>
        /// Public method called by the main view to start playing the playlist
        /// </summary>
        public void play()
        {
            // If there is no backgroundworker initialized, do that
            if (playerThread == null)
            {
                playerThread = new BackgroundWorker();
                playerThread.DoWork += new DoWorkEventHandler(playerThread_DoWork);
                playerThread.ProgressChanged += new ProgressChangedEventHandler(playerThread_ProgressChanged);
                playerThread.RunWorkerCompleted += new RunWorkerCompletedEventHandler(playerThread_RunWorkerCompleted);
                playerThread.WorkerReportsProgress = true;

            }

            // Set state to playing
            this.playState = PlaybackState.Playing;

            // start playing the entire queue
            playQueue();
        }
开发者ID:rogerstewart,项目名称:subsonic-csharp,代码行数:22,代码来源:PlayerForm.cs


示例9: Stop

 /// <summary>
 /// Stop playback
 /// </summary>
 public void Stop()
 {
     // Try and tidy up nicely
     if (Monitor.TryEnter(m_LockObject, 50))
     {
         playbackState = PlaybackState.Stopped;
         Monitor.Exit(m_LockObject);
     }
     else
     {
         // No joy - abort the thread!
         if (notifyThread != null)
         {
             notifyThread.Abort();
             notifyThread = null;
         }
     }
 }
开发者ID:aljordan,项目名称:NAJAudio,代码行数:21,代码来源:DirectSoundOut.cs


示例10: Pause

        /// <summary>
        /// Stop playback without flushing buffers
        /// </summary>
        public void Pause()
        {
            if (playbackState == PlaybackState.Playing)
            {
                playbackState = PlaybackState.Paused;
            }

        }
开发者ID:KarimLUCCIN,项目名称:NAudioCustom,代码行数:11,代码来源:WasapiOutRT.cs


示例11: Play

 /// <summary>
 /// Begin Playback
 /// </summary>
 public void Play()
 {
     if (playbackState != PlaybackState.Playing)
     {
         if (playbackState == PlaybackState.Stopped && !preventNewPlayTaskCreation)
         {
             playbackState = PlaybackState.Playing;
             playTask = Task.Run((Action)PlayThread);
         }
         else
         {
             playbackState = PlaybackState.Playing;
         }
     }
 }
开发者ID:KarimLUCCIN,项目名称:NAudioCustom,代码行数:18,代码来源:WasapiOutRT.cs


示例12: RefreshPlaybackState

		public void RefreshPlaybackState()
		{
			PlaybackState nextPlaybackState = playbackState;
		
			if (sound != null)
			{
				if (sound.CurrentSubSoundIndex != -1 && sound.CurrentSubSound != null)
				{
					if (sound.CurrentSubSound.Channel.IsPlaying)
					{
						if (sound.CurrentSubSound.Channel.Paused)
							nextPlaybackState = PlaybackState.Paused;
						else nextPlaybackState = PlaybackState.Playing;
					}
					else nextPlaybackState = PlaybackState.Stopped;
				}
				else
				{
					if (sound.Channel != null)
					{
						if (sound.Channel.IsPlaying)
						{
							if (sound.Channel.Paused)
								nextPlaybackState = PlaybackState.Paused;
							else nextPlaybackState = PlaybackState.Playing;
						}
						else nextPlaybackState = PlaybackState.Stopped;
					}
					else nextPlaybackState = PlaybackState.None;
				}
			}
			else nextPlaybackState = PlaybackState.None;

			if (playbackState != nextPlaybackState)
			{
				playbackState = nextPlaybackState;
				if (PlaybackStateChanged != null)
					PlaybackStateChanged(this, new MediaStateChangedEventArgs(BufferState, NetworkState, PlaybackState, SeekState));
			}
		}
开发者ID:bossaia,项目名称:alexandrialibrary,代码行数:40,代码来源:CompactDiscSound.cs


示例13: Play

        /// <summary>
        /// Begin Playback
        /// </summary>
        public void Play()
        {
            if (playbackState != PlaybackState.Playing)
            {
                if (playbackState == PlaybackState.Stopped)
                {
                    playThread = new Thread(new ThreadStart(PlayThread));
                    playbackState = PlaybackState.Playing;
                    playThread.Start();
                }
                else
                {
                    playbackState = PlaybackState.Playing;
                }

            }
        }
开发者ID:NoOnes2,项目名称:scharfrichter,代码行数:20,代码来源:WasapiOut.cs


示例14: Stop

 /// <summary>
 /// Stop and reset the WaveOut device
 /// </summary>
 public void Stop()
 {
     if (playbackState != PlaybackState.Stopped)
     {
         // in the call to waveOutReset with function callbacks
         // some drivers will block here until OnDone is called
         // for every buffer
         playbackState = PlaybackState.Stopped; // set this here to avoid a problem with some drivers whereby 
         MmResult result;
         lock (waveOutLock)
         {
             result = WaveInterop.waveOutReset(hWaveOut);
         }
         if (result != MmResult.NoError)
         {
             throw new MmException(result, "waveOutReset");
         }
         callbackEvent.Set(); // give the thread a kick, make sure we exit
     }
 }
开发者ID:EnergonV,项目名称:BestCS,代码行数:23,代码来源:WaveOutEvent.cs


示例15: Init

        /// <summary>
        /// Initialises the WaveOut device
        /// </summary>
        /// <param name="waveProvider">WaveProvider to play</param>
        public void Init(IWaveProvider waveProvider)
        {
            this.waveStream = waveProvider;
            int bufferSize = waveProvider.WaveFormat.ConvertLatencyToByteSize((DesiredLatency + NumberOfBuffers - 1) / NumberOfBuffers);

            MmResult result;
            lock (waveOutLock)
            {
                result = callbackInfo.WaveOutOpen(out hWaveOut, DeviceNumber, waveStream.WaveFormat, callback);
            }
            MmException.Try(result, "waveOutOpen");

            buffers = new WaveOutBuffer[NumberOfBuffers];
            playbackState = PlaybackState.Stopped;
            for (int n = 0; n < NumberOfBuffers; n++)
            {
                buffers[n] = new WaveOutBuffer(hWaveOut, bufferSize, waveStream, waveOutLock);
            }
        }
开发者ID:aljordan,项目名称:NAJAudio,代码行数:23,代码来源:WaveOut.cs


示例16: Pause

 /// <summary>
 /// Pause the audio
 /// </summary>
 public void Pause()
 {
     if (playbackState == PlaybackState.Playing)
     {
         MmResult result;
         lock (waveOutLock)
         {
             result = WaveInterop.waveOutPause(hWaveOut);
         }
         if (result != MmResult.NoError)
         {
             throw new MmException(result, "waveOutPause");
         }
         playbackState = PlaybackState.Paused;
     }
 }
开发者ID:EnergonV,项目名称:BestCS,代码行数:19,代码来源:WaveOutEvent.cs


示例17: Resume

 /// <summary>
 /// Resume playing after a pause from the same position
 /// </summary>
 private void Resume()
 {
     if (playbackState == PlaybackState.Paused)
     {
         MmResult result;
         lock (waveOutLock)
         {
             result = WaveInterop.waveOutRestart(hWaveOut);
         }
         if (result != MmResult.NoError)
         {
             throw new MmException(result, "waveOutRestart");
         }
         playbackState = PlaybackState.Playing;
     }
 }
开发者ID:EnergonV,项目名称:BestCS,代码行数:19,代码来源:WaveOutEvent.cs


示例18: Play

 /// <summary>
 /// Start playing the audio from the WaveStream
 /// </summary>
 public void Play()
 {
     if (playbackState == PlaybackState.Stopped)
     {
         playbackState = PlaybackState.Playing;
         Debug.Assert(queuedBuffers == 0, "Buffers already queued on play");
         EnqueueBuffers();
     }
     else if (playbackState == PlaybackState.Paused)
     {
         EnqueueBuffers();
         Resume();
         playbackState = PlaybackState.Playing;
     }
 }
开发者ID:aljordan,项目名称:NAJAudio,代码行数:18,代码来源:WaveOut.cs


示例19: Init

        /// <summary>
        /// Initialises the WaveOut device
        /// </summary>
        /// <param name="waveProvider">WaveProvider to play</param>
        public void Init(IWaveProvider waveProvider)
        {
            if (playbackState != PlaybackState.Stopped)
            {
                throw new InvalidOperationException("Can't re-initialize during playback");
            }
            if (hWaveOut != IntPtr.Zero)
            {
                // normally we don't allow calling Init twice, but as experiment, see if we can clean up and go again
                // try to allow reuse of this waveOut device
                // n.b. risky if Playback thread has not exited
                DisposeBuffers();
                CloseWaveOut();
            }

            this.callbackEvent = new AutoResetEvent(false);

            this.waveStream = waveProvider;
            int bufferSize = waveProvider.WaveFormat.ConvertLatencyToByteSize((DesiredLatency + NumberOfBuffers - 1) / NumberOfBuffers);            

            MmResult result;
            lock (waveOutLock)
            {
                result = WaveInterop.waveOutOpenWindow(out hWaveOut, (IntPtr)DeviceNumber, waveStream.WaveFormat, callbackEvent.SafeWaitHandle.DangerousGetHandle(), IntPtr.Zero, WaveInterop.WaveInOutOpenFlags.CallbackEvent);
            }
            MmException.Try(result, "waveOutOpen");

            buffers = new WaveOutBuffer[NumberOfBuffers];
            playbackState = PlaybackState.Stopped;
            for (int n = 0; n < NumberOfBuffers; n++)
            {
                buffers[n] = new WaveOutBuffer(hWaveOut, bufferSize, waveStream, waveOutLock);
            }
        }
开发者ID:EnergonV,项目名称:BestCS,代码行数:38,代码来源:WaveOutEvent.cs


示例20: Stop

        /// <summary>
        /// Stop and reset the WaveOut device
        /// </summary>
        public void Stop()
        {
            if (playbackState != PlaybackState.Stopped)
            {

                // in the call to waveOutReset with function callbacks
                // some drivers will block here until OnDone is called
                // for every buffer
                playbackState = PlaybackState.Stopped; // set this here to avoid a problem with some drivers whereby
                MmResult result;
                lock (waveOutLock)
                {
                    result = WaveInterop.waveOutReset(hWaveOut);
                }
                if (result != MmResult.NoError)
                {
                    throw new MmException(result, "waveOutReset");
                }

                // with function callbacks, waveOutReset will call OnDone,
                // and so PlaybackStopped must not be raised from the handler
                // we know playback has definitely stopped now, so raise callback
                if (callbackInfo.Strategy == WaveCallbackStrategy.FunctionCallback)
                {
                    RaisePlaybackStoppedEvent(null);
                }
            }
        }
开发者ID:aljordan,项目名称:NAJAudio,代码行数:31,代码来源:WaveOut.cs



注:本文中的PlaybackState类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Player类代码示例发布时间:2022-05-24
下一篇:
C# PlayableItem类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap