У меня есть приложение, которое воспроизводит несколько коротких аудиоклипов.Чтобы воспроизвести их, я просто установил в качестве источника новый путь клипа, который представляет собой WMA, который я закодировал с помощью Expression Encoder с использованием настроек WP7.Не стоит даже делиться кодом - есть обработчик событий.В нем я установил свойство ME.Source для нового Uri.Это установлено на AutoPlay, вот и все!Здесь:
private void PlaySound(ItemViewModel sound) {
Model.CurrentSound = sound;
CurrentSound.Source = new Uri(sound.Path, UriKind.Relative);
}
private void Sounds_SelectionChanged(object sender, SelectionChangedEventArgs e) {
var list = ((ListBox) sender);
var item = (ItemViewModel) list.SelectedItem;
SelectItem(item);
}
Также я должен отметить, что звуки - это все ресурсы (тип сборки = Ресурс).Мне нужно, чтобы они были, потому что приложение должно обнаруживать их динамически.Все пути выглядят так: "sounds / foo / bar / sound.wma".Иногда в пути есть пробел, это URL, закодированный в% 20 (так менеджер ресурсов возвращает путь, я этого не делал).
Проблема в том, что многие люди, но не всеГоворят, что звук автоматически повторяется.Звуки очень короткие, всего несколько секунд, поэтому это очень раздражает.Я не понимаю, как это происходит, MediaElement даже не имеет функции автоповтора.
Возможно, связано, но некоторые также жаловались, что время от времени звук не воспроизводится.Они должны щелкнуть это снова.Все, что я могу думать, - это то, что что-то не так с тем, как кодируются звуки, но они являются WMA, и, как я уже сказал, я кодировал их, используя настройки воспроизведения в WP7 в кодировщике выражений.Как могло случиться, что это работает обычно, но не в других случаях, если бы это было так, в любом случае?
Я в растерянности, и мое приложение получает плохие отзывы из-за этого поведения.Помогите!