2010-02-26 3 views
3

1. Я создал аудиоплеер в silverlight.Audio Cutter in Silverlight

внутри этого игрока пользователь может выбрать часть песни для сохранения в качестве мелодии звонка.

но у меня есть продолжительность времени от .. но я должен отрезать частичную часть потока или аудиопотока и сохранить его на серверном члене.

Plz подскажите, как я могу преобразовать выбранную длительность звукового времени в поток или массив байтов.?

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

Я не могу сохранить поток на диск .. он дает следующие ошибки:

Ошибка 1. Попытка доступа к методу отказавшей системы ввода-вывода FileInfo OpenWrite

Plz помочь

- - Дополнительная информация по этому вопросу: 3. Что такое MediaStreamSample & Класс MediaStreamSource в Silverlight относительно MediaElement?

Будет ли это помогать в резке части аудиофайла, чтобы создать мелодию из песни?

ответ

0

Ошибка 1. Попытка получить доступ к методу не удалась. System IO FileInfo OpenWrit, вы получаете эту ошибку из соображений безопасности. Прежде чем сохранять на диск, вы должны пропустить SaveFileDialog для пользователя, а затем сохранить файл на диск.

+0

Мне нужно сохранить этот поток на стороне сервера, а не на клиентской машине. –

1

Если вам нужно сохранить на сервер, вам необходимо отправить данные на сервер.

Простое сохранение (как указано) попытается сохранить на машине клиента. Что вам нужно сделать, это загрузить данные на сервер либо через службу WCF, либо с помощью обработчика ASHX или такого. Я сделал что-то похожее: загрузка файлов MP3 из клиента Silverlight в службу WCF через Stream, хорошо работает.

Далее: Вам необходимо убедиться, что любой процесс разделения, который вы используете, поддерживает аудиоформат - то есть вы, вероятно, просто не можете разбить двоичный файл. Какой формат вы используете, mp3?

Я использовал что-то под названием mp3plt, прежде чем разбить mp3. Возможно, вы сможете перекомпилировать исходный код в библиотеку, совместимую с Silverlight, при условии, что она написана в том, что вы можете использовать, source here.

Или вы можете посмотреть в mp3-спецификации, чтобы узнать, можно ли просто разбить бинарный файл, и в этом случае длительность резания (тот, который выбрал пользователь) и умножение на битрейт, (kb/s * seconds = kb) предоставит вам место в файле байт [], на который вы можете отрезать.