Я также рекомендую ffmpeg, но командная строка, предложенная John Boker, имеет непреднамеренный побочный эффект: это повторно кодирует файл к скорости передачи по умолчанию (который составляет 64 Кбит/с в версии, которую я имею здесь, по крайней мере). Это могло бы произвести Вашим клиентам ложное впечатление от качества Ваших звуковых файлов, и также занимает больше времени сделать.
Вот командная строка, которая будет резать к 30 секундам без транскодирования:
ffmpeg -t 30 -i inputfile.mp3 -acodec copy outputfile.mp3
переключатель-acodec говорит ffmpeg использовать специальный кодек "копии", который не транскодирует. Это - молния быстро.
ПРИМЕЧАНИЕ: команда была обновлена на основе комментария от Oben Sonne
Если вы хотите, чтобы пользователи из Интернета могли подключаться к вашей службе, вам необходимо учесть несколько моментов:
привязка: наименьший общий знаменатель - это basicHttpBinding
, который представляет собой протокол SOAP 1.1 без каких-либо дополнительных функций, как и веб-службы ASMX. Практически любой может подключиться к этому. Для более продвинутых клиентов вы также можете предоставить конечную точку wsHttpBinding
в своей службе
безопасность: как (если вообще) вы хотите защитить доступ к своей веб-службе? У вас есть учетные данные для имени пользователя и пароля, которые необходимо предоставить вызывающим абонентам? Ознакомьтесь с Руководством по безопасности WCF для получения целого ряда информационных битов по различным сценариям безопасности
аутентификации вашей службы: обычно
Вам необходимо настроить переадресацию портов на вашем маршрутизаторе. Возможно, кто-нибудь из ServerFault или SuperUser сможет вам помочь. Или даже поиск в Google, когда вы знаете, как это называется. Инструкции будут отличаться в зависимости от роутера. Порт, который вам нужно перенаправить, будет тем портом, который вы выбрали в файле конфигурации WCF.
Я размещаю службы WCF через IIS, но мне потребовалось время, чтобы понять, как это сделать. На данный момент я помещаю файлы на веб-сервер и включаю совместное использование в корневой папке. Затем вы можете назначить их соответствующему пулу приложений в IIS и добавить ссылку на службу для любых клиентских проектов, используя URL-адрес wsdl.
Я не уверен, что это лучший способ сделать это, но это единственный способ, которым я занимался до сих пор.