На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> C# Как воспроизвести звук из ресурса (пошагово)
    Добрый день
    Я хотел бы написать для своих нужд небольшой трекер, воспроизводящий звуковые файлы, которые добавлены в ресурс.
    Основная задача: заставить проигрываться из ресурса одновременно (параллельно) несколько звуковых файлов.

    Подходит ли PlaySound для этого? Ведь иногда нужно прекратить звучание одного звука, а другие чтоб продолжали играть.
    Есть ли у кого-то пример?

    Сейчас у меня так:

    internal class SoundModule
    {
    [Flags]
    public enum PlaySoundFlags : int
    {
    SND_SYNC = 0x0000,
    SND_ASYNC = 0x0001,
    SND_NODEFAULT = 0x0002,
    SND_MEMORY = 0x0004,
    SND_LOOP = 0x0008,
    SND_NOSTOP = 0x0010,
    SND_NOWAIT = 0x00002000,
    SND_ALIAS = 0x00010000,
    SND_ALIAS_ID = 0x00110000,
    SND_FILENAME = 0x00020000,
    SND_RESOURCE = 0x00040004
    }

    [DllImport("Coredll")]
    public static extern int PlaySound(byte[] data, IntPtr hMod, PlaySoundFlags flags );

    }


    ну и в самой форме:

    private void button1_Click(object sender, EventArgs e)
    {
    SoundModule.PlaySound(Project1.Properties.Resources.sound1, IntPtr.Zero, SoundModule.PlaySoundFlags.SND_RESOURCE | SoundModule.PlaySoundFlags.SND_ASYNC);
    }

    при этом файл sound1 подцеплен к ресурсу и в Resources.Designer.CS есть такой код:
    internal static byte[] sound1 {
    get {
    object obj = ResourceManager.GetObject("sound1", resourceCulture);
    return ((byte[])(obj));
    }
    }


    Сейчас при нажатии на кнопку звук не проигрывается... Читал форум - кто-то предлагал код, который у меня отказался работать и я его закомментил (там stream возвращался null'евым) :
    //Stream stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("Project1.sound1.wav");
    //byte[] soundBytes = new byte[stream.Length];
    //stream.Read(soundBytes, 0, (int)stream.Length);


    Прошу помощи
    Спасибо
      Какую версию Compact .NET Framework Вы используете?
      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0145 ]   [ 15 queries used ]   [ Generated: 8.07.25, 19:07 GMT ]