Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2013, 17:24   #1
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию Музыка в С#

Здравствуйте!!! У меня такой вопрос, как можно в С# проигрывать музыку? Увидела програмку в интернете:
Код:
using System;
using System.Threading;

class Sample 
{
    public static void Main() 
    {
// Declare the first few notes of the song, "Mary Had A Little Lamb".
    Note[] Mary = 
        {
        new Note(Tone.B, Duration.QUARTER),
        new Note(Tone.A, Duration.QUARTER),
        new Note(Tone.GbelowC, Duration.QUARTER),
        new Note(Tone.A, Duration.QUARTER),
        new Note(Tone.B, Duration.QUARTER),
        new Note(Tone.B, Duration.QUARTER),
        new Note(Tone.B, Duration.HALF),
        new Note(Tone.A, Duration.QUARTER),
        new Note(Tone.A, Duration.QUARTER),
        new Note(Tone.A, Duration.HALF),
        new Note(Tone.B, Duration.QUARTER),
        new Note(Tone.D, Duration.QUARTER),
        new Note(Tone.D, Duration.HALF)
        };
// Play the song
    Play(Mary);
    }

// Play the notes in a song.
    protected static void Play(Note[] tune)
    {
    foreach (Note n in tune)
        {
        if (n.NoteTone == Tone.REST)
            Thread.Sleep((int)n.NoteDuration);
        else
            Console.Beep((int)n.NoteTone, (int)n.NoteDuration);
        }
    }

// Define the frequencies of notes in an octave, as well as 
// silence (rest).
    protected enum Tone
    {
    REST   = 0,
    GbelowC = 196,
    A      = 220,
    Asharp = 233,
    B      = 247,
    C      = 262,
    Csharp = 277,
    D      = 294,
    Dsharp = 311,
    E      = 330,
    F      = 349,
    Fsharp = 370,
    G      = 392,
    Gsharp = 415, 
    }

// Define the duration of a note in units of milliseconds.
    protected enum Duration
    {
    WHOLE     = 1600,
    HALF      = WHOLE/2,
    QUARTER   = HALF/2,
    EIGHTH    = QUARTER/2,
    SIXTEENTH = EIGHTH/2,
    }

// Define a note as a frequency (tone) and the amount of 
// time (duration) the note plays.
    protected struct Note
    {
    Tone     toneVal;
    Duration durVal;

// Define a constructor to create a specific note.
    public Note(Tone frequency, Duration time)
        {
        toneVal = frequency;
        durVal  = time;
        }

// Define properties to return the note's tone and duration.
    public Tone NoteTone { get{ return toneVal; } }
    public Duration NoteDuration { get{ return durVal; } }
    }
}
/*
This example produces the following results:

This example plays the first few notes of "Mary Had A Little Lamb" 
through the console speaker.
*/
И у меня такой вопрос как можно здесь использовать генератор псевдослучайных чисел?
Veryn4ik1993 вне форума Ответить с цитированием
Старый 13.12.2013, 09:01   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Зачем вам генератор то??
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 14.12.2013, 13:53   #3
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Зачем вам генератор то??
Чтобы с помощью него генерировалась музыка
Veryn4ik1993 вне форума Ответить с цитированием
Старый 14.12.2013, 15:39   #4
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Ну сделайте массив из нот ..
а в генераторе числе генерьте число от 0 до 6 ..
и формируйте вашу псевдомузыку ...
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 15.12.2013, 22:59   #5
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

А как задать эти ноты в массиве? я читала про них, там все с помощью частот, а можно просто загрузить их в С#? если да, то подскажите, пожалуйста, как это сделать
Veryn4ik1993 вне форума Ответить с цитированием
Старый 15.12.2013, 23:05   #6
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Что вам нужно то все таки? Вы ясно можете задачу описать или все с бухты барахты?
Естественно задано с помощью частот, а с помощью чего еще можно ноты задать.
Если вам наобум то генерируйте массив int наугад с вашим генератором и выполняйте функцию Beep() куда подавайте ваши значения... Только музыкой это врядли можно назвать.

А если не наобум, то сделайте два массива.
Первый из 7 int чисел которые определяют частоты основных нот.
Второй массив набирайте рандомно от 0 до 7 как я писал в первом посте.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 15.12.2013, 23:12   #7
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

Например воспроизвести число Пи
Veryn4ik1993 вне форума Ответить с цитированием
Старый 15.12.2013, 23:41   #8
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Можно произвести только целое число герц ...
так что либо 3 либо 4 ...
ну и сделайте
Код:
Console.Beep(3, 1000);
Это выдаст во встроенный динамик звук частотой 3 герца длительностью 1 сек.
Но поскольку частота меньше порога слышимости то нифига вы не услышите.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c# музыка zorra123 C# (си шарп) 1 23.02.2011 19:45
!Музыка! viks1 Свободное общение 13 14.06.2010 00:45
музыка wolf950 Помощь студентам 1 18.11.2008 23:22
музыка wolf950 Помощь студентам 3 14.11.2008 21:47
музыка OLEG'arh Общие вопросы Delphi 2 04.12.2006 20:55