2013-06-09 2 views
1

У меня есть таймер обратного отсчета, и я хочу, чтобы будильник погас, когда он достиг цели ... много для Android и iOS, но ничего, что я мог найти для WP8.Воспроизведение звукового файла на конце таймера

Я использую DispatcherTimer для подсчета.

Я ищу информацию или пример о том, как вызвать звук, когда таймер заканчивает отсчет. У меня счетчик начинается нажатием кнопки и сбрасывается при длинном нажатии. Все работает хорошо, просто хочу получить звуковой эффект, когда он остановится после подсчета.

private DateTime EndTime { get; set; } 
    private DispatcherTimer _dispatcherTimer; 

    private void BtnCounter_Click(object sender, RoutedEventArgs e) 
    {    

     if (this._dispatcherTimer == null) 
     { 
      this._dispatcherTimer = new DispatcherTimer(); 
      this._dispatcherTimer.Interval = TimeSpan.FromMilliseconds(100); 
      this._dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick); 
     } 

     if (this.EndTime == DateTime.MinValue) 
     { 
      this.EndTime = DateTime.Now + (TimeSpan)this.tsPicker.Value; 
     } 

     this._dispatcherTimer.Start(); 


    } 

    void dispatcherTimer_Tick(object sender, EventArgs e) 
    { 
     var remaining = this.EndTime - DateTime.Now; 
     int remainingSeconds = (int)remaining.TotalSeconds; 
     this.tsPicker.Value = TimeSpan.FromSeconds(remainingSeconds); 

     if (remaining.TotalSeconds <= 0) 
     { 
      this._dispatcherTimer.Stop(); 
      // Sound code should go here, or a method call to it. 
     } 
    } 

    private void BtnCounter_Hold(object sender, System.Windows.Input.GestureEventArgs e) 
    { 
     cnt = 0; 
     BtnCounter.Content = cnt; 
     this._dispatcherTimer.Stop(); 
     this.EndTime = DateTime.MinValue; 
     this.tsPicker.Value = TimeSpan.FromSeconds(0); 
    } 

    protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     this.EndTime = DateTime.MinValue; 
     base.OnNavigatedFrom(e); 
    } 
+0

У вас нет на сайте вопросов. Вы также не указали какой-либо код, который вы написали, чтобы продемонстрировать проблему. – FriendlyGuy

+0

Дополнительная информация и добавленный код кода – Greg

ответ

1

Вы пытались использовать MediaElement? Похоже, что это хороший пример, использующий его, под названием Windows Phone 8: Playing Sounds

+0

Thats играет звук, на который вы ссылаетесь. Есть ли способ связать со встроенными звуковыми сигналами и воспроизвести их? – Greg

+0

Это не представляется возможным: http://social.msdn.microsoft.com/Forums/en-US/wpdevelop/thread/fa895410-7596-46c5-9fa0-b5cffb987a54 (теперь я знаю, почему вы его нашли трудно исследовать этот материал - нет никакой информации о приложениях для сигнализации!) – FriendlyGuy

Смежные вопросы