Чтобы обойти проблему поиска потока и MediaStreamSource, вам нужно написать собственный поток SeekableStream, который обернет любой другой поток и сделает его доступным для поиска с помощью потока внутренней памяти.
Вы можете увидеть его в действии здесь , где он может воспроизводить файлы MP3, расположенные локально на вашем компьютере или в Интернете. Исходный код библиотеки и демо-версии теперь доступен на CodePlex