Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/17: Рейтинг темы: голосов - 17, средняя оценка - 4.53
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
1

C# звуки, медиа

20.07.2011, 19:34. Просмотров 3536. Ответов 13
Метки нет (Все метки)


Подскажите как реализовать, а лучше в какую сторону копать. Делаю прогу, типа напоминатель, хочу чтобы в заданное время(datetimepicker) программа выдавала какой-либо сигнал
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2011, 19:34
Ответы с готовыми решениями:

Проблема с наушниками - очень тихо воспроизводятся системные звуки и звуки в играх.
Такая проблема: системные звуки и звуки в играх и программах очень тихо воспроизводятся. Могу...

Js и медиа запросы
Необходимо в браузере увидеть мобильную версию сайта. Для этого обернула страницу в div, создала...

Медиа запросы
Всем доброе время суток. ДЕлаю адаптивную вёрстку сайта, занимаюсь этим впервые. Есть такой...

Медиа СУБД
Привет однофорумчане. Признаюсь, забрел сюда, не совсем случайно, но в поиске решения, которое...

13
18 / 18 / 3
Регистрация: 16.02.2010
Сообщений: 243
20.07.2011, 19:50 2
Воспроизведение звуков чере System.Media.SoundPlayer
А проверка времени DateTime.Now
1
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
20.07.2011, 20:11  [ТС] 3
Спасибо, попробую, если что обращусь ))
0
мастер топоров
903 / 728 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
20.07.2011, 21:26 4
androidos, я писал что-то подобное тоже
идея в том, чтобы где-то сохранить время и сообщение (если оно надо), потом запустить таймер и в на каждом тике проверять соответствует ли текущее время тому времени, которое записано в файлике (или ещё где-либо). если соответствует, то показываем сообщение и проигрываем музыкальный файлик
C#
1
2
3
System.Media.SoundPlayer sp = new System.Media.SoundPlayer(@"file");
....
sp.Play(); //в тике когда время совпадает
0
Заблокирован
20.07.2011, 21:30 5
Цитата Сообщение от androidos Посмотреть сообщение
программа выдавала какой-либо сигнал
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        public Form1()
        {
            InitializeComponent();
            timer1.Enabled = true;
            timer1.Interval = 1000;
            timer1.Tick += timer1_Tick;
        }
 
        DateTime myDT = new DateTime(2011, 7, 20, 22, 00, 00);
        int count = 0;
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (DateTime.Now >= myDT)
            {
                System.Console.Beep(777, 555);
                ++count;
            }
            if (count >= 3) timer1.Tick -= timer1_Tick;
        }
0
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
20.07.2011, 21:46  [ТС] 6
to Koran: я вообще так пробую, пока не получается
C#
1
2
3
4
5
6
7
8
 private void label2_Click_1(object sender, EventArgs e)
        {
            if(dateTimePicker1.Value == DateTime.Now)
            {
                SoundPlayer sp = new SoundPlayer("t.wav");
                sp.Play();
            }
        }
Добавлено через 15 минут
Суть в том, что мне нужно сравнить время заданное в dateTimePicker с локальным временем на компе, и если совпадают, то играть муз. файл. ПС: время хранится в БД
0
310 / 248 / 44
Регистрация: 06.12.2010
Сообщений: 527
20.07.2011, 21:55 7
androidos, а по label2 кликать не забываешь?
0
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
20.07.2011, 22:10  [ТС] 8
Народ я запутался. У меня вся инфа заносится в БД, потом оттуда выводится в ListBox, а при клике на какую-либо инфу в ListBox, выводится в Label
0
Заблокирован
20.07.2011, 22:13 9
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System.Runtime.InteropServices;
 
    public partial class Form1 : Form
    {
        [DllImport("winmm.dll", EntryPoint = "sndPlaySound")]
        public static extern long PlaySound(string fileName, long flags);
 
        public Form1()
        {
            InitializeComponent();
           
            timer1.Interval = 1000;
            timer1.Tick += timer1_Tick;
            checkBox1.CheckedChanged += checkBox1_CheckedChanged;
        }
 
      
      
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (DateTime.Now >= dateTimePicker1.Value)
            {
                PlaySound("1.wav", 1);
 
                timer1.Enabled = false;
            }
          
        }
 
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
           checkBox1.Checked = timer1.Enabled ;
             
        }
Добавлено через 2 минуты
androidos, ты бы определился в начале. А то говоришь какой-либо сигнал, потом уже нужен аудиофайл, а сейчас сам не знаешь что хочешь.
0
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
20.07.2011, 22:17  [ТС] 10
McMax, я не так силён пока что в программировании, в частности в C#, так что к сожалению пока не могу сразу понять чужой код и его логику

Добавлено через 2 минуты
Цитата Сообщение от McMax Посмотреть сообщение
androidos, ты бы определился в начале. А то говоришь какой-либо сигнал, потом уже нужен аудиофайл, а сейчас сам не знаешь что хочешь.
Ну сигнал имел ввиду звук, т.е. wav или mp3 файл, а не системный звук
0
Заблокирован
20.07.2011, 22:21 11
Цитата Сообщение от androidos Посмотреть сообщение
пока не могу сразу понять чужой код и его логику
кидай на форму таймер и checkBox, копируй код и вставляй себе. Не забудь только правильно путь указать к файлу. Вот только для этих целей глупо использовать dateTimePicker
0
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
20.07.2011, 22:32  [ТС] 12
Цитата Сообщение от McMax Посмотреть сообщение
кидай на форму таймер и checkBox, копируй код и вставляй себе. Не забудь только правильно путь указать к файлу. Вот только для этих целей глупо использовать dateTimePicker
Так объясни почему глупо? Разве лучше заносить в БД дату просто как строку вручную? PS: Я хочу понять код, а не копирнуть и желательно сделать так, как задумал, но всёравно спасибо!
0
Заблокирован
20.07.2011, 22:48 13
androidos, возможно я просто не совсем понял что ты хочешь и для чего тебе это надо.
Делай как задумал.
0
мастер топоров
903 / 728 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
21.07.2011, 00:45 14
вот такой простой код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;
using System.Media;
using System.Windows.Forms;
 
namespace TempWinFormProject {
    public partial class Parent : Form {
        public Parent() {
            InitializeComponent();
            for(int i = 0; i < 24; i++) {  //заполняем комбобокс с выбором часа
                comboBoxHour.Items.Add(string.Format("{0:00}", i));
            }
            comboBoxHour.SelectedIndex = 0; 
            for(int i = 0; i < 60; i+=5) { //заполняем комбобок с выбором минут
                comboBoxMinutes.Items.Add(string.Format("{0:00}", i));
            }
            comboBoxMinutes.SelectedIndex = 0;
        }
 
        DateTime timeAtDing = new DateTime();
        SoundPlayer sp = new SoundPlayer(@"fileName");
 
        private void buttonSet_Click(object sender, EventArgs e) {   //считываем данные с контролов и запускаем таймер
            timeAtDing = new DateTime(dateTimePicker1.Value.Year, dateTimePicker1.Value.Month, dateTimePicker1.Value.Day, int.Parse(comboBoxHour.SelectedItem as string), int.Parse(comboBoxMinutes.SelectedItem as string), 0);
            timer.Enabled = true;
        }
 
        private void timer_Tick(object sender, EventArgs e) {
            if(DateTime.Now.Equals(timeAtDing)) {  //проверяем текущее время на соответствие с установленным
                sp.Play(); //запускаем звук
                (sender as Timer).Stop;  //останавливаем и убиваем таймер
                (sender as Timer).Dispose;
            }
        }
    }
}
только библиотека Media весьма скудна на методы, поля и события.. лучше использовать другую
если вы достаете время из БД, то просто подкорректируйте код
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2011, 00:45

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

Нестыковочка в медиа
&lt;div class=&quot;col-md-6 col-sm-6&quot;&gt; &lt;div class=&quot;top_phone&quot;&gt; &lt;div...

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

Медиа запросы
Какие брейкопоинты медиа запросов сейчас актуальны? Гуглил, но нашел только инфу 3-х летней...

Медиа-проигрыватель
Пишу самый обычный медиа-проигрыватель, но никак не могу разобраться с кнопками &quot;Next&quot; и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.