чего я хочу добиться, так это:
- Воспроизведение фоновой музыки из медиатеки
- По определенному триггеру затухание музыки, воспроизведение другого mp3-файла (разной длины, от секунд до минуты)
- После того, как этот фрагмент аудио будет воспроизведен, возобновите предыдущую музыку из библиотеки.
Теперь я сталкиваюсь с этими ограничениями:
- Чтобы получить доступ и воспроизвести музыку из пользовательской библиотеки, мне нужно использовать класс MediaPlayer XNA.
- Чтобы воспроизвести произвольный mp3-файл, мне нужно использовать либо MediaPlayer, либо MediaElement, но не SoundEffect или SoundEffectInstance.
- Если я воспроизвожу что-либо с помощью MediaElement, MediaPlayer останавливается. Он полностью теряет очередь аудио, поэтому мне нужно воспроизвести оставшуюся музыку, что было бы нормально, НО
- MediaPlayer не поддерживает поиск, поэтому я не могу открыть предыдущую песню и просто перейти к позиции, прежде чем она была приостановлена
So:
- Я не хочу использовать SoundEffect или SoundEffectInstance, так как звук должен быть в формате wav.
- Я не могу использовать только MediaPlayer, потому что, если бы я воспроизвел там звук, чтобы прервать песню, я бы не смог перейти к ее предыдущей позиции.
- Я не могу использовать комбинацию MediaPlayer и MediaElement, поскольку MediaPlayer останавливает MediaPlayer, что снова не позволяет мне возобновить предыдущее воспроизведение
- Я не могу просто использовать MediaElement, потому что он не может воспроизводить песни из библиотеки.
Вы видите что-то, что я пропустил, или это действительно единственный вариант, который у меня есть, чтобы смириться и использовать файлы wav? (Многие из них будут загружены на лету, и это просто неэффективно!) Любые предложения?
Спасибо!