none
DirectX using Audio RRS feed

  • Вопрос

  • Здраствуйте мне нужна помощь, я в directx моло разбираюсь, подскажите как воспроизвести файл из ресурсов.

    есть код var myMusicFile = ConsoleApplication1.Properties.Resources._173___The_Sex_Pistols___God_Save_The_Queen;

    что добавить немогу понять. Помогите.

    26 сентября 2015 г. 19:24

Ответы

  • Я же дал пример как из ресурса типа byte[] сделать поток. 


    This posting is provided "AS IS" with no warranties, and confers no rights.

    • Помечено в качестве ответа avrudoi 30 сентября 2015 г. 4:44
    29 сентября 2015 г. 16:08
    Модератор

Все ответы

  • я писал этот пост на выходные, может про него забыли. помогите 

    28 сентября 2015 г. 15:15
  • Что вы испольуйте для собственно проигрывания файла? Иными словами, у вас уже есть код чтоб играть файлы/потоки и проблема только в ресурсе или же у вас вообще ничего нет?

    В любом случае с ресурсом все просто:

    1. Создаете MemoryStream из ресурса который в данном случае должен быть byte[]. Альтернативно можно получить поток ресурса по имени.

    2. Передаете полученный стрим проигрывателю, практически все они умеют играть из потока.

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


    This posting is provided "AS IS" with no warranties, and confers no rights.

    28 сентября 2015 г. 16:23
    Модератор
  • вот я и немогу загнать в поток ресурс и проиграть  его.

    System.Media.SoundPlayer myPlayer = new System.Media.SoundPlayer();  
    
                 myPlayer.Stream = Properties.Resources.MoldMyz);  
    
                 myPlayer.Play(); 

    28 сентября 2015 г. 17:44
  •  myPlayer.Stream = new MemoryStream(Properties.Resources.MoldMyz);  


    Не ясно при чем тут DirectX?

    И, кстати, SoundPlayer играет только файлы определенного формата вроде .wav без комрессии. 


    This posting is provided "AS IS" with no warranties, and confers no rights.

    28 сентября 2015 г. 18:06
    Модератор
  • если вам не трудно подскажите пример проигрования mp3 файла на Directx, выше мой ошибочный кад. 
    28 сентября 2015 г. 18:56
  • У меня нет такого примера. Сразу скажу что это будет много страниц кода лишь для того чтоб задекларировать нужные COM интерфейсы. Я бы сказал что это вам не осилить.

    Найдите готовую библиотеку для проигрывания звуковых файлов, их вполне достаточно:

    http://www.bing.com/search?q=play+MP3+C%23&go=Submit&qs=n&form=QBLH&pq=play+mp3+c%23&sc=1-11&sp=-1&sk=&cvid=3fe78134503e4843891f1420d47a3efa


    This posting is provided "AS IS" with no warranties, and confers no rights.

    28 сентября 2015 г. 20:06
    Модератор
  • Я вроде писал ответ но сейчас его нет, если вам мне трудно помогите, дай те код воиспроизведения музыки в mp3 или wave. Все никак немогу подключить ресурсы к проигрованию.

    29 сентября 2015 г. 6:42
  • вот есть пример.

    public void InitializeSound()
    {
    device = new Device ();
    device.SetCooperativeLevel(this, CooperativeLevel.Normal);
    sound = new SecondaryBuffer(@"..\..\drumpad-crash.wav", device);
    sound.Play(0, BufferPlayFlags.Default);
    }

    есть и другие конструкторы

    public SecondaryBuffer ( System.String fileName ,
    Microsoft.DirectX.DirectSound.BufferDescription desc ,
    Microsoft.DirectX.DirectSound.Device parent )
    public SecondaryBuffer ( System.10.Stream source , System.Int32 length ,
    Microsoft.DirectX.DirectSound.BufferDescription desc ,
    Microsoft.DirectX.DirectSound.Device parent

    помагите отправить ресурс в поток

    

    29 сентября 2015 г. 8:17
  • это я нашел в книге тома Миллера, DirectX, предоставляет более широкие возмоности работы с изобращением и звуком.

    29 сентября 2015 г. 15:33
  • Я же дал пример как из ресурса типа byte[] сделать поток. 


    This posting is provided "AS IS" with no warranties, and confers no rights.

    • Помечено в качестве ответа avrudoi 30 сентября 2015 г. 4:44
    29 сентября 2015 г. 16:08
    Модератор