Я решил создать приложение Metronome. Итак, я «начинающий», и я сделал этот проект с целью узнать больше о ООП и других вещах. Мое приложение работает очень хорошо, но у меня все еще есть некоторые проблемы (небольшие проблемы).UWP Metronome App - средства управления транспортом MediaPlayerElement
Я использовал MediaPlayerElement для воспроизведения звука. Я не хочу, что управление медиа транспорта появляется во время выполнения, для этого я написал
mediaPlayer.MediaPlayer.SystemMediaTransportControls.IsEnabled = false;
но управление медиа транспорта все еще включено.
Другая проблема заключается в том, что приложение работает на ПК (возможно, имеет больше возможностей обработки), но в смартфоне, ах, не работает хорошо! Когда BPM выше (более 190 или 200), приложение не воспроизводит звук правильно, почти все время отстает. Код ниже:
PLAYER ИСТОЧНИК
class Player
{
MediaPlayerElement mediaPlayer = new MediaPlayerElement();
public void Init()
{
try
{
Uri src = new Uri("ms-appx:///Assets/beep.wav");
mediaPlayer.Source = MediaSource.CreateFromUri(src);
mediaPlayer.MediaPlayer.SystemMediaTransportControls.IsEnabled = false;
}
catch (Exception e)
{
System.Diagnostics.Debug.WriteLine("Error!" + e);
}
}
public void Play()
{
mediaPlayer.MediaPlayer.Play();
}
public Player()
{
Init();
}
}
МЕТРОНОМ ИСТОЧНИК
class Metronome
{
private Player player = new Player();
private DispatcherTimer dispTimer = new DispatcherTimer();
private double interval;
public int Tempo { get; set; }
public bool IsActive { get; set; } //returns the state
private void Init()
{
interval = (double)60/Tempo - 0.02;
dispTimer.Tick += DispTimer_Tick;
dispTimer.Interval = TimeSpan.FromSeconds(interval);
}
private void DispTimer_Tick(object sender, object e)
{
player.Play();
}
public void Start()
{
Init();
dispTimer.Start();
IsActive = true;
}
public void Stop()
{
dispTimer.Stop();
IsActive = false;
}
}
У меня есть ползунок, который связан с Tempo собственности и когда пользователь нажимает кнопку Запустить metronomo воспроизводит звук. Это работает как таймер, когда при достижении указанного значения он воспроизводит звук.
В компьютере (Core I3) это приложение использует максимальный уровень 1.0% от ЦП, я не знаю, как использовать ЦП в смартфоне (Lumia 535).
** Мой процессор поддерживает VT-X, но мой чипсет не так, я делаю все, что могу! : p
Спасибо за помощь! :)
Фоновый плеер Хорошо работает, средства управления транспортом отключены. SetUriSource устарел ». Производительность приложения по-прежнему сохраняется на мобильных устройствах, но я буду искать решение для этого. –