|
3 / 3 / 0
Регистрация: 25.01.2021
Сообщений: 82
|
|
Как воспроизвести звуковой файл10.03.2025, 08:57. Показов 13412. Ответов 151
Метки нет (Все метки)
Добрый день, форумчане! Мне очень нравится следующая страница форума Воспроизведение звука
Хотелось бы реализовать коды, представленные на данной странице, но несколько дней пытаюсь и ничего не получается, вы не могли бы помочь в этом вопросе. Условие задачи, необходимо воспроизвести звуковой файл короткого содержания при нажатии кнопки button1, button2-временно остановить (пауза) и button3 просто остановить. Звуковые файлы (они представлены в формате и mp3 и wav подготовлены и хранятся в папке проекта в папке Files). Длина звучания звукового файла предполагается звучать 2, 3 секунды, но можно и больше. Открывать файл не обязательно, предполагается только в коде указать путь к нему…Помогите, кто может...Хотелось бы правильный рабочий код...
0
|
|
| 10.03.2025, 08:57 | |
|
Ответы с готовыми решениями:
151
Воспроизвести звуковой файл при щелчке по кнопке
Как воспроизвести файл *.xm |
|
3260 / 3325 / 556
Регистрация: 17.02.2019
Сообщений: 5,223
|
|
| 19.03.2025, 23:30 | |
|
kukushka3, наверно понял в чём ошибка, завтра посмотрим.
0
|
|
|
|
|||
| 19.03.2025, 23:54 | |||
![]() Эти программы больше похожи на тренажер, тренировать восприятие азбуки морзе на слух. Для этого и производится генерация тонов с выводом на системные динамики. У настоящих эфирных трансмиттеров есть собственные авто-генераторы для модуляции морзе-тона. Им необходима лишь последовательность символов, которую следует отправить в эфир. А здесь я переделал твой проект для синтеза тонов без всего вообще, в т.ч. без дебильного WM плеера. kukushka3, ты ж вроде и про QSL карточки обмена говорил, я тут было подумал - во, человек разбирается и интересуется... А тут, получается, опростоволосился на такой ерунде... В первый раз что ли за радио-обмен взялся?
0
|
|||
|
3 / 3 / 0
Регистрация: 25.01.2021
Сообщений: 82
|
|
| 20.03.2025, 07:55 [ТС] | |
|
Да, нет не первый...Хорошо, поработаю с NAudio....
Добавлено через 7 минут January29, принёс архив на работу, всё работает, а вот что делать дома не знаю...Дома студию переустановил, результата нет... В инете по вопросу Разрушительный сбой пишут: Разрушительный сбой — это ошибка с кодом 0x8000FFFF, которая может возникать на компьютере во время обновления Windows, установки приложений из магазина или при восстановлении системы. 1 Некоторые причины появления ошибки: повреждение системных файлов и компонентов; 1 нарушение работы системных служб; 1 влияние вредоносного ПО или вирусов. 1 Зачастую синий экран или уведомление с таким кодом ошибки возникает после обновления Windows 10 и попытки установить приложение из Microsoft Store. 2 Но синего экрана у меня не было, просто выпадает окно предупреждающее и всё ???
0
|
|
|
3 / 3 / 0
Регистрация: 25.01.2021
Сообщений: 82
|
|
| 20.03.2025, 19:12 [ТС] | |
|
wizard4, January29, добрый вечер!
Произвёл сканирование системы: Microsoft Windows [Version 10.0.19045.5608] (c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены. C:\WINDOWS\system32>SFC/SCANNOW Начато сканирование системы. Этот процесс может занять некоторое время. Начало стадии проверки при сканировании системы. Проверка 100% завершена. Программа защиты ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них. Подробные сведения см. в файле CBS.Log, который находится по следующему пути: windir\Logs\CBS\CBS.log. Например, C:\Windows\Logs\CBS\CBS.log. Подробные сведения включены в файл журнала, предоставляемый флагом /OFFLOGFILE. Может есть какие то соображения, я ноль... Проблема возникла скорее всего 18.03.2025, не исключаю 19.03.2025...Время бежит быстро, подзабывается...
0
|
|
|
985 / 465 / 234
Регистрация: 27.06.2014
Сообщений: 1,039
|
||||||
| 21.03.2025, 17:24 | ||||||
|
Ради спортивного интереса провёл проверку вариантов генерации звуков. Если генерировать тона точек/тире по отдельности, то между вызовами происходит неконтролируемая пауза. На малой скорости это не так заметно.
Варианты, которые пробовал: с помощью NAudio - задержка между вызовами Play(). Воспроизведение файлов из каталога - приличная задержка (~50 мс). Воспроизведение звуков WAV из ресурсов - уже заметно меньше. Воспроизведение с помощью Console.Beep(frequency, duration) - так-же присутствует задержка.Воспроизведение сгенерированных в memorystream файлов WAV по отдельным сигнала тонов, опять-же присутствует задержка. (точно таким-же способом, как у wizard41 в post17549426)Решил применить метод генерации полного WAV фала на всю длину строки вместе с паузами тишины. Кликните здесь для просмотра всего текста
Немножко отредактировал файлик wizard41 MorseCode.cs, заодно ввёл плавную атаку/спад для мягкости звучания
:DotDash.cs
Можно менять частоту, громкость, скорость передачи. Но так-как воспроизведение через SoundPlayer, то нет возможности узнать, когда воспроизведение закончилось. Можно только остановить (с помощью backgroundWorker), или перезапустить генерацию+воспроизведение заново.NewMorse.rar Есть идея сохранять данные из memorystream во временный файл на диск и воспроизводить через WindowsMediaPlayer. Тогда можно будет узнать текущий прогресс воспроизведения тонального сигнала, поставить на паузу и т.д.
0
|
||||||
|
3 / 3 / 0
Регистрация: 25.01.2021
Сообщений: 82
|
|
| 22.03.2025, 05:37 [ТС] | |
|
Доброе утро, roach1967! Вот это совершенно Супер! Этот звук мне очень понравился, мягкий, плавный и нежёсткий и щелчков не слышно, ну это просто сказка, спасибо вам за такой сигнал...Я сейчас переустанавливаю операционную систему, как освобожусь , обязательно подойду, до связи...
0
|
|
|
|
||
| 23.03.2025, 15:05 | ||
|
Немного причесал последний вариант от roach1967: - удален повторяющийся код - удалены лишние обработчики - удалено излишнее создание временных переменных - удален BackgroundWorker - одинаковые расчеты вынесены в функции - подготовка wav-файла для воспроизведения теперь отдельная таска внутри класса DotDash - класс DotDash теперь самодостаточный, его можно вынести в отд. библиотеку и использовать в разных проектах. Задача кодирования и воспроизведения, обернутая в BackgroundWorker - бесполезная затея. Фактически, BW только начинает работать и тут же заканчивает. Плеер уже играет в своем потоке и не мешает никому. BW можно было бы применить, например, если в код Морзе транслировать томик "Война и Мир", а затем его воспроизводить. Но и то под вопросом, т.к. кодирование wav единственная задача, которая здесь выполняется перед плеером.
1
|
||
|
3 / 3 / 0
Регистрация: 25.01.2021
Сообщений: 82
|
|
| 23.03.2025, 16:12 [ТС] | |
|
Добрый день, roach1967 и wizard41 ! Я уже думал, что я вас потерял, спасибо работникам сайта за восстановление...У меня просьба как всегда...Сделайте мне пожалуйста на эту форму индикатор звука как у вас см. рис 1. Сам пробовал, для меня сложновато, не получается, помогите, заодно оцените программу, код тоже высылаю......
0
|
|
|
3 / 3 / 0
Регистрация: 25.01.2021
Сообщений: 82
|
|
| 23.03.2025, 16:23 [ТС] | |
|
Добрый день wizard41 и roach1967 ! И вот снова заработал сайт, ура! У меня к вам просьба, посмотрите, пожалуйста этот код программы, он вам знаком...Сделайте. пожалуйста защиту textBoxсов при случае, если в эти ячейки вводятся буквы русского алфавита, а точнее, чтобы в ячейки могли писаться только буквы английского алфавита + знак вопроса и восклицательный знак+_(нижнее подчёркивание) и больше ничего, если конечно это возможно. О себе. переустановил ОС, всё заработало великолепно, я очень рад...Конечно я вас достал со своими заморочками, но мне это тема очень интересна...
0
|
|
|
985 / 465 / 234
Регистрация: 27.06.2014
Сообщений: 1,039
|
|
| 23.03.2025, 16:48 | |
|
wizard41, с радиокнопками вообще шикарное решение (как впрочем и с генерацией семплов точек /тире)!
А с воспроизведением решил переделать кардинально: после заполнения memorystream сохраняю во временный файл и передаю в WindowsMediaPlayer. Он позволяет полностью контролировать воспроизведением - пуск, стоп, пауза. Заодно получаем текущую позицию звучания, которую отображаем на фоне строки с текстом: NewMorse.rar Одно но (и к тому же большое) - после работы остаются файлы звука (имена соответствуют содержимому). Можно удалять по завершению программы автоматом
1
|
|
|
985 / 465 / 234
Регистрация: 27.06.2014
Сообщений: 1,039
|
||||||
| 23.03.2025, 17:11 | ||||||
|
kukushka3, ограничение по допустимым символам:
NAudio. Там есть свойство device.AudioMeterInformation.MasterPeakValue.
0
|
||||||
|
3260 / 3325 / 556
Регистрация: 17.02.2019
Сообщений: 5,223
|
|
| 23.03.2025, 17:24 | |
|
0
|
|
| 23.03.2025, 17:25 | |
|
Не по теме: а уже ответили
0
|
|
|
3 / 3 / 0
Регистрация: 25.01.2021
Сообщений: 82
|
|
| 23.03.2025, 17:25 [ТС] | |
|
Ну что же этот вариант тоже пригодится, спасибо...
0
|
|
|
3260 / 3325 / 556
Регистрация: 17.02.2019
Сообщений: 5,223
|
|||||||
| 23.03.2025, 18:01 | |||||||
1
|
|||||||
|
985 / 465 / 234
Регистрация: 27.06.2014
Сообщений: 1,039
|
|
| 23.03.2025, 18:20 | |
|
January29, Так даже понятней и логичней.
1
|
|
|
3 / 3 / 0
Регистрация: 25.01.2021
Сообщений: 82
|
|
| 23.03.2025, 18:37 [ТС] | |
|
Ввод букв, знаков ограничил, УРА!!!
0
|
|
|
3 / 3 / 0
Регистрация: 25.01.2021
Сообщений: 82
|
|
| 23.03.2025, 18:46 [ТС] | |
|
Да это конечно очень серьёзно, ну а я начинающий программист-любитель, хоть мне уже 62 года, как быстро бежит время...
Добавлено через 2 минуты А есть ли у вас проекты такие типа онлайн радио, онлайн чаты и тому подобное???
0
|
|
|
3260 / 3325 / 556
Регистрация: 17.02.2019
Сообщений: 5,223
|
|
| 23.03.2025, 18:46 | |
|
0
|
|
| 23.03.2025, 18:46 | |
|
Как воспроизвести mp3 файл Как воспроизвести mp3 файл?
Как воспроизвести mp3 файл с winmm.dll Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
155. Min Stack
Задача:
Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1).
Методы:
NewMinStack() *MinStack — инициализация
Push(val int) —. . .
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|