Звуковой ресурс ASP.NET не публикуется

Поэтому я создал приложение ASP.NET 4 в VS2010, которому нужно воспроизводить звук для конечного пользователя, и оно отлично работает в моей локальной среде разработки. Проблема в том, что ни звуковой ресурс, ни Resources.resx не публикуются на сервере. Есть идеи, почему?

Что я сделал:

1) В разделе «Проект» → «Свойства» → «Ресурсы» я добавил свой звуковой ресурс с именем: soundbyte (содержащий soundbyte.wav). Я заметил, что это создает папку ресурсов с файлом wav, а в моем проекте файл Resources.resx, ссылающийся на файл

2) В моем коде я играю файл следующим образом:

    Dim audioFile = My.Resources. soundbyte
    Dim player = New Media.SoundPlayer(audioFile)
    player.Load()
    player.Play()

person Off The Gold    schedule 09.05.2012    source источник


Ответы (2)


В обозревателе решений Visual Studio щелкните правой кнопкой мыши файл Resources.resx и выберите пункт Свойства. Построить действие. Установить на содержание.

РЕДАКТИРОВАТЬ: следующий ресурс также может помочь. http://blog.andreloker.de/post/2010/07/02/Visual-Studio-default-build-action-for-non-default-file-types.aspx

person Sam Leach    schedule 09.05.2012
comment
Иногда в том же окне, о котором говорит SamLeach, мне нужно установить Copy to Output Directory на CopyAlways - person twaldron; 10.05.2012
comment
Тем не менее, не повезло. Программа не компилируется, когда я изменяю Resources.resx на содержимое Я смог получить Resources.resx и звуковые файлы для публикации, если я установил CopyAlways не воспроизводить звук - person Off The Gold; 10.05.2012
comment
На самом деле, я нашел эту статью, которая указывает на то, что это, вероятно, работало, но просто развлекало ребят в серверной, но не работало для клиента. forums.asp.net/t/1377568.aspx/1 - person Off The Gold; 10.05.2012

В конце концов, я нашел способ воспроизвести звук в клиентском браузере (в отличие от сервера, на котором запущено приложение asp), следуя методам из этого примера: http://www.vbdotnetheaven.com/UploadFile/scottlysle/PlaySoundsInASPX09032006083212AM/PlaySoundsInASPX.aspx

Но я нашел еще лучший способ в моем случае - использовать Javascript, который не требует техники ресурсов.

просто вставьте звук на страницу после тега:

<embed src="Sounds/jump.wav" autostart=false width=1 height=1 id="sound1" enablejavascript="true">

Затем в javascript настройте функцию:

function EvalSound(soundobj) {
    var thissound=document.getElementById(soundobj);
    thissound.Play();
}

Наконец, воспроизведите звук в браузере по мере необходимости в Javascript:

EvalSound('sound1');
person Off The Gold    schedule 14.05.2012