Windows 10 can run many audio formats and devices. By default, Windows 10 sets your audio output to the standard 48 kHz, 24-bit studio quality format. This format always depends on your output devices, including speakers and headphones.
Changing the default audio format in Windows 10 is relatively easy. You can use the Sound Settings screen to access and modify different audio settings in your system. In the playback devices, you can select and change the default audio of any device connected to your PC.
These settings must be changed to get the maximum performance from your output devices. For instance, if you use big speakers, you must set the audio format to high hertz. If you match the hertz of your speakers with the Windows, you will get outstanding sound with no issues.
Sometimes, users don’t know where to find the hertz on your speakers. You can see the speaker label often placed on the back of the speakers, or you can search for the speaker’s model on Google to get more information from the manufacturer’s website.
There are a total of 8 audio formats suitable for Windows 10. The most common formats are CD quality, DVD quality, and studio quality. There are two categories of these 8 formats, 16-bit and 24-bit. Here is the detail of these formats and which ornate suits each situation.
44100 Hz, 16-bit CD Quality: It simply uses the 16-bit for audio with approximately 96 dB. It is the lowest level of audio quality that you can expect from your speakers.
48000 Hz, 16-bit DVD Quality: The 16-bit with 48 kHz is better than 44.1 kHz CD audio quality and is mostly used for standard headphones.
96000 Hz, 16-bit Studio Quality: These bits and hertz combination is mainly used for studio recordings and with low audio equipment.
192000 Hz, 16-bit Studio Quality: Small studio speakers often use these. The highest quality audio format is 16 bits.
44100 Hz, 24-bit Studio Quality: The 24-bit settings are for studio sound quality for standard speakers with approximately 48 dB.
48000 Hz 24-bit Studio Quality: 48 kHz is way better than the CD and some studio audio. It supports speakers with 44.1 kHz and delivers quality audio.
48000 Hz, 24-bit 96000 Hz Studio Quality: One of the highest bit rates for studio speakers. If you have big speakers up to 100dB, 96 kHz is considered perfect for them.
192000 Hz, 24-bit Studio Quality: It uses 24 bits for sound and can provide a maximum of 144 dB without distortion. This format produces crystal clear sound and offers a fantastic surround experience.
So now you know the ratings and formats, you can easily change the audio format in Windows 10 according to your needs. Here’s how you can change the default audio format In Windows 10,
Step 1: Open Audio Settings
Audio settings are the central hub for all the audio-related settings in Windows 10. Open your Start menu and type “Sound Settings” in the search bar. Click on the Sound Settings to open the Audio settings. Now open the “Sound Control Panel” option on the right side of the settings.
Step 2: Change The Default Audio Format
Once in the audio settings, go to the “Playback” tab and navigate to your speaker/headphone icon. Right-click on it to open the file. Select “Properties” from the file to access more device options. Now open the “Advanced” tab from the top menu.
Here, you will find the sample rate and bit depth options. Select the format according to your device requirements.
The default audio device is the audio device that is used by Windows 10 when you play any audio or video. Windows 10 can detect any externally attached device and have different preferences for connecting these devices.
Sometimes, you connect a device to your PC, but nothing happens. It happens if you have another high-priority device attached to your system. Now, you have to change the default device by yourself. Here is how you can change the default audio device in Windows 10.
- Go to the speaker icon on your taskbar and right-click on it.
- Now select “Sound” from the list to open the sound properties.
- Once in the properties, go to the “Playback” tab and navigate to the device you want to enable.
- Right-click on the device icon and select “Enable” from the list.
You can also navigate to these settings through the system settings. You can use these steps if you are in safe mode and cannot see icons. Here’s how you can do that,
- Go to the Windows start menu, search “Sound settings,” and click open the settings.
- Now click on “Sound Control Panel” to open the sound properties.
- Once you are in sound properties, go to the “Playback” tab to see the list of attached output devices.
Before making the device default, disable all other output devices first. You can now modify the preconfigured Windows 10 audio settings in no time.
Altering the pre-installed audio format on your device is one way to enhance your listening experience and ensure that you get the very best sound quality possible from your gadget.
Windows 10 included this feature to connect all devices with your system. Moreover, if you have a higher frequency speaker, we recommend you use Realtek audio managers to get more out of your speakers.
Conclusion
Now you know the different audio formats, their ranges, and how to change them according to your preference. Hence, changing the default audio device can also easily switch between other devices. Audio and video playback on Windows 10 can be further enhanced by selecting the suitable audio format on your Windows 10 PC. So, choose wisely and enjoy the best quality audio experience with Windows 10.
Hey, I’m Hammad. I have been writing for several years now and have amassed a wealth of experience within my field. My focus is on technology and gaming, two areas that I am highly knowledgeable about. Also, I’m writer for iPhonEscape.com and CPUGPUnerds.com as well and where I have written over 350 articles.
“Привет, ребята! Недавно я обновил свой компьютер до Windows 11. Однако, когда я пытаюсь воспроизвести песни,
проигрыватель Windows Media показывает сообщение об ошибке «не удается воспроизвести выберите что-нибудь еще для
воспроизведения 0xc00d36b4». Не могли бы вы, пожалуйста, сказать мне, почему я это вижу и как исправить эту
ошибку?”
Ошибка 0xc00d36b4 — распространенная проблема, с которой сталкиваются пользователи Windows при воспроизведении видео
или аудиодорожек с помощью проигрывателя Windows Media. Этот код ошибки часто появляется, когда возникает проблема с
самим медиафайлом, кодеками, необходимыми для воспроизведения мультимедиа, или настройками в проигрывателе Windows
Media Player. Для устранения этой ошибки может потребоваться несколько шагов по устранению неполадок, чтобы выявить
и устранить основную причину. В этом руководстве мы укажем все возможные причины и проиллюстрируем, как исправить
ошибку 0xc00d36b4 в Windows 10 и 11, тем самым восстановив плавное воспроизведение видео и аудио в вашей системе.
Часть 1. Распространенные причины ошибки 0xc00d36b4
Как только вы сможете определить причину ошибки, найти решение для устранения проблемы станет проще. Вот
возможные причины, по которым вы видите ошибку 0xc00d36b4 в Windows 10/11. Как только вы сможете определить
причину ошибки, найти решение для устранения проблемы станет проще. Вот возможные причины, по которым вы видите
ошибку 0xc00d36b4 в Windows 10/11.
- Неподдерживаемый формат файла: попытка воспроизвести неподдерживаемый формат видеофайла вызывает
ошибку 0xc00d36b4 из-за неспособности проигрывателя справиться с ней. - Отсутствующие кодеки: необходимые кодеки, нужные для воспроизведения вашего формата медиафайла,
недоступны на вашем компьютере. - Поврежденный медиафайл: Если ваш медиафайл поврежден, медиаплеер не сможет воспроизвести файл и
вместо этого покажет вам ошибку кодека 0xc00d36b4. - Устаревшие драйверы: Устаревшие аудио- и видеодрайверы также могут помешать вашему компьютеру успешно
воспроизводить последние медиафайлы. - Устаревший медиаплеер: Если медиаплеер, на котором вы воспроизводите медиафайл, устарел или поврежден
внутренне, вы можете увидеть сообщение об ошибке.
Часть 2.Как исправить 0xc00d36b4 в Windows 10/11
Когда медиаплеер по умолчанию выдает ошибку 0xc00d36b4, вы можете установить сторонний медиаплеер, например
VLC, и попытаться воспроизвести тот же медиафайл. Если проблема не устранена, вот все решения о том, как
исправить ошибку 0xc00d36b4.
Решение 1. Исправление ошибки Не удается воспроизвести 0xc00d36b4 с помощью 4DDiG File Repair
Как мы упоминали ранее, сообщение об ошибке “Не удается воспроизвести выберите что-нибудь другое для
воспроизведения 0xc00d36b4” может появиться, когда ваш аудио- или видеофайл поврежден или неработоспособен.
Чтобы справиться с этим, вы можете попробовать воспользоваться специализированным инструментом под названием
4DDiG File Repair.
Разработанный для решения широкого спектра проблем с повреждением файлов, включая не
воспроизводимые видео, отсутствие звука в MKV-файле и т.д., этот инструмент является надежным решением для
устранения ошибки 0xc00d36b4 и восстановления работы поврежденного носителя.
- Исправляет неоткрываемые поврежденные медиафайлы.
- Восстанавливает нераспознанные и поврежденные медиафайлы.
- Устраняет искажения звука, такие как хлопки и шипение.
- Исправляет поврежденные видеофайлы без проблем со звуком.
- Совместимость с различными устройствами ввода, такими как жесткие диски, USB-накопители, SD-карты и
карты памяти. - Поддерживает популярные форматы видеофайлов, такие как MP4, AVI, MOV, 3GP, MKV и M4V.
- Поддерживает популярные форматы аудиофайлов, такие как MP3, AAC, M4A и многое другое.
Ниже приведены шаги по исправлению ошибки 0xc00d36b4 путем восстановления поврежденных аудиофайлов с помощью
4DDiG File Repair.
-
Загрузите и установите программу 4DDiG File Repair на свой ПК с Windows. Запустите инструмент и
выберите опцию восстановления звука на левой панели. -
Нажмите кнопку Добавить аудио и выберите аудиофайлы с вашего устройства хранения, которые не
повреждены и показывают ошибку 0xc00d36b4. -
Нажмите кнопку Начать восстановление и дождитесь, пока инструмент проанализирует и исправит
обнаруженные ошибки. -
Вы получите восстановленные аудиофайлы на вкладке Результаты восстановления. Нажмите на них и
прослушайте восстановленный звук. -
Чтобы сохранить восстановленные аудиофайлы в вашем хранилище, выберите восстановленные файлы и
нажмите “Экспортировать выбранные”.
Решение 2. Установите отсутствующий кодек
Современные аудиофайлы сильно сжаты, и для их правильного воспроизведения требуются специальные кодеки. Если
в вашем медиаплеере отсутствуют эти кодеки, он не может правильно воспроизводить файлы и появляется
сообщение об ошибке 0xc00d36b4.
Пакет кодеков K-Lite представляет собой набор современных аудио- и видеокодеков для Windows. Этот пакет
расширяет возможности вашего медиаплеера, позволяя ему обрабатывать широкий спектр аудио- и видеофайлов,
которые могут не поддерживаться по умолчанию. Вот как найти недостающий кодек 0xc00d36b4 для Windows 10,
исправленный с помощью пакета кодеков K-Lite.
-
Посетите страницу загрузки кодека Codecguide 0xc00d36b4. Вы познакомитесь с различными
версиями пакета кодеков K-Lite с описанием поддерживаемых форматов аудио- и видеофайлов. -
Выберите полную версию K-Lite Code Pack и нажмите кнопку Загрузить полностью.
- Выберите опцию Сервер 1. Если ссылка не работает, вы можете перейти на сервер 2 или сервер 3.
- После загрузки файла кодек K-Lite Pack.exe, нажмите на него, чтобы установить пакет.
- Перезагрузите компьютер. Затем откройте свой медиаплеер и воспроизведите медиафайл, который вызвал
ошибку 0xc00d36b4. С недавно установленным пакетом кодеков ваш медиаплеер теперь должен плавно
обрабатывать файл.
Решение 3. Обновите аудио- и видеодрайверы
Как упоминалось ранее, устаревшие аудио- и видеодрайверы могут препятствовать воспроизведению современных
аудио- и видеофайлов. Для обеспечения оптимальной производительности обновление этих драйверов имеет
решающее значение. Вот как обновить свои аудио- и видеодрайверы, чтобы избавиться от ошибки 0xc00d36b4:
Обновите звуковые драйверы:
- Откройте меню «Пуск» и найдите «Диспетчер устройств». Откройте приложение «Диспетчер устройств».
- Расширьте возможности звуковых, видео- и игровых контроллеров.
-
Щелкните правой кнопкой мыши на звуковом драйвере и выберите опцию Обновить драйвер
-
Выберите автоматический поиск обновленного программного обеспечения драйвера. Установите все
доступные обновления в соответствии с запросом.
Перезагрузите компьютер и воспроизведите аудиофайл заново.
Обновите видеодрайверы:
- Откройте приложение «Диспетчер устройств» из меню «Пуск».
-
Разверните опцию Адаптеры дисплея, затем щелкните правой кнопкой мыши на драйвере и выберите опцию
Обновить драйвер. - Дождитесь, пока ваша система найдет и загрузит последнюю версию драйвера онлайн и обновит его
автоматически. - Перезагрузите компьютер после завершения обновления. Воспроизведите проблемные медиафайлы еще раз.
Обновленные драйверы теперь должны обеспечивать плавное воспроизведение.
Решение 4. Преобразуйте файл в поддерживаемый формат файла
Если медиафайл, который вы пытаетесь воспроизвести, имеет необычный формат файла, весьма вероятно, что вы
столкнетесь с ошибкой 0xc00d36b4 Windows Media Player. В этом случае рассмотрите возможность преобразования
его в популярный формат, поддерживаемый проигрывателем Windows Media. Ниже приведены шаги по преобразованию
необычного формата файла в поддерживаемый формат файла с помощью VLC Media Player.
-
Загрузите и откройте медиаплеер VLC. Перейдите в меню Файл> Опция Конвертировать/сохранить.
- В окне «Открыть мультимедиа» нажмите кнопку «Добавить» и выберите аудиофайлы, которые вы хотите
преобразовать в поддерживаемый формат файла, такой как MP3. -
После добавления нажмите на значок со стрелкой рядом с кнопкой Преобразовать/сохранить и выберите опцию
Преобразовать в выпадающем меню. -
В окне Конвертировать выберите опцию Конвертировать и формат файла из опции Профиля. Мы рекомендуем
вам выбрать опцию Аудио-MP3. Нажмите кнопку «Пуск», и преобразование начнется. -
После преобразования воспроизведите только что преобразованный медиафайл в проигрывателе Windows Media
Player. Теперь, когда файл находится в совместимом формате, ошибка 0xc00d36b4 должна быть устранена.
Решение 5. Измените аудиоформат по умолчанию
Каждая версия Windows имеет аудиоформат по умолчанию. Например, аудиоформат по умолчанию для Windows 10
имеет частоту 48 кГц и 24-битное качество. Этот аудиоформат по умолчанию можно изменить, и новый аудиоформат
может помочь устранить ошибку 0xc00d36b4, с которой вы сталкиваетесь на своем компьютере.
-
Нажмите клавиши Windows + R вместе. Вам нужно ввести “mmsys.cpl” в диалоговом окне «Выполнить» и нажать
клавишу Enter. -
В окне «Звук» перейдите на вкладку «Воспроизведение» и выберите «Динамики». Нажмите кнопку «Свойства».
-
В окне свойств звука перейдите на вкладку Дополнительно и измените аудиоформат по умолчанию.
-
Нажмите кнопку Применить и нажмите кнопку Да во всплывающем сообщении с подтверждением. Нажмите кнопку
ОК, перезагрузите компьютер и посмотрите, решит ли это проблему.
Решение 6. Повторно включите проигрыватель Windows Media Player
Если вы по-прежнему сталкиваетесь с сообщением об ошибке “выберите что-нибудь еще для воспроизведения ‘
0xc00d36b4” и ни одно из предыдущих решений не сработало, возможно, стоит повторно включить проигрыватель
Windows Media. В некоторых случаях отключение, а затем повторное включение медиаплеера может помочь
устранить основные проблемы.
Вот шаги по перезапуску службы проигрывателя Windows Media, чтобы исправить ошибку 0xc00d36b4 Windows 11.
-
Откройте меню «Пуск» и выполните поиск функций Windows. Нажмите на опцию Включить или выключить
функции Windows. -
В окне «Компоненты Windows» прокрутите вниз, перейдите в раздел «Мультимедийные функции» и разверните
его. -
Выключите проигрыватель Windows Media и нажмите кнопку «Да» в сообщении с подтверждением. Нажмите
кнопку «ОК». -
Перезагрузите компьютер и повторите шаги 1 и 2.
-
Теперь включите опцию проигрывателя Windows Media и нажмите кнопку OK. Перезагрузите компьютер и
воспроизведите аудиофайл сейчас.
Решение 7. Запустите средство устранения неполадок при воспроизведении звука
И последнее, но не менее важное: вы можете запустить средство устранения неполадок со звуком, доступное в
Windows, которое может обнаружить любую проблему с вашим аудиоустройством. Как правило, когда устройство
вывода звука работает неправильно, проигрыватель Windows Media может случайным образом отображать
определенные ошибки, включая 0xc00d36b4.
Используя это средство устранения неполадок со звуком, вы можете устранить любые проблемы, связанные со
звуком, влияющие на воспроизведение мультимедиа.
- Нажмите клавиши Windows + I вместе, чтобы открыть настройки Windows.
-
Выберите «Система» на левой панели и нажмите «Устранение неполадок».
-
Нажмите на опцию Другие средства устранения неполадок.
-
Нажмите кнопку «Выполнить» напротив «Воспроизведение аудио».
-
Выберите опцию аудиоустройства Realtek и нажмите кнопку Далее, чтобы продолжить.
-
Следуйте инструкциям на экране и позвольте средству устранения неполадок обнаружить любую проблему и
устранить ее.
Часто задаваемые вопросы об ошибке 0xc00d36b4
Q1: Что такое MP4 0xc00d36c4?
MP4 0xc00d36c4 обычно относится к коду ошибки, который может возникнуть при попытке воспроизвести видеофайл
MP4 с помощью медиаплееров, таких как Windows Media Player или другое подобное программное обеспечение. Это
указывает на конкретную проблему во время воспроизведения, часто связанную с проблемами кодека или
поврежденными файлами. Чтобы устранить эту ошибку, рассмотрите возможность применения решений, упомянутых
ранее.
Q2: Как мне исправить поврежденное видео 0xc00d36c4?
Чтобы исправить поврежденное видео с кодом ошибки «0xc00d36c4», попробуйте воспользоваться надежным
программным обеспечением для восстановления видео. Эта ошибка обычно указывает на проблему с
воспроизведением из-за повреждения. Такое программное обеспечение, как 4DDiG File Repair, может помочь
быстрее и успешно исправить поврежденный видеофайл несколькими щелчками мыши.
Q3: Что такое ошибка 0xc00d36b4 в Groove Music?
Скорее всего, вы столкнетесь с ошибкой 0xc00d36b4 в приложении Groove Music, когда проигрыватель не сможет
воспроизвести ваш аудиофайл. Это происходит из-за необычного формата аудиофайла, отсутствия необходимого
аудиокодека или поврежденного аудиофайла.
Итог
Подводя итог, можно сказать, что при возникновении ошибки видео / аудио 0xc00d36b4 в Windows 10/11
беспокоиться не о чем. В вашем распоряжении есть различные решения. Вы можете использовать пакет кодеков
K-Lite для исправления отсутствующих кодеков, VLC Media Player для преобразования форматов файлов или 4DDiG File Repair для
полного восстановления. Вы также можете повторно включить проигрыватель Windows Media,
обновить драйверы и воспользоваться встроенным в Windows средством устранения неполадок. С помощью этих
подходов вы можете устранить ошибку и воспроизводить медиафайлы в вашей системе Windows без каких-либо
проблем.
Александр Кокин (старший редактор)
Александр Кокин, главный редактор 4DDiG, занимается предоставлением наилучших решений для проблем, связанных с Windows и Mac, включая восстановление данных, ремонт, исправление ошибок.
-
В настройках «Звука» винды для каждого (почти) устройства ввода и вывода есть «формат по умолчанию», см. скриншот. Как его прочитать? Пипец, ищем – не можем ничего найти…
-
Thetrik
UA6527P
- Публикаций:
-
0
- Регистрация:
- 25 июл 2011
- Сообщения:
- 894
Это значение (в формате WAVEFORMATEX) можно получить запросив свойство PKEY_AudioEngine_DeviceFormat.
Создается перечислитель MMDeviceEnumerator, затем у него вызывается GetDefaultAudioEndpoint. У полученного IMMDevice запрашивается PropertyStore в котором и находится ключ PKEY_AudioEngine_DeviceFormat. -
Спасибо, но я не понимаю, как это всё проделать.
Как создать перечислить MMDeviceEnumerator, вызвать у него GetDefaultAudioEndpoint, запросить PropertyStore.
И это всё не на C++ -
Вот так на Delphi я исправил кусок, но дальше что — не знаю…
-
procedure TfmMain.GetInfo;
-
PKEY_AudioEngine_DeviceFormat_GUID: TGUID = ‘{F19F064D-082C-4E27-BC73-6882A1BB8E4C}’;
-
PKEY_AudioEngine_DeviceFormat_pid = 0;
-
// DEFINE_PROPERTYKEY(PKEY_AudioEngine_DeviceFormat, 0xf19f064d, 0x82c, 0x4e27, 0xbc, 0x73, 0x68, 0x82, 0xa1, 0xbb, 0x8e, 0x4c, 0);
-
FMMDevEnum: IMMDeviceEnumerator;
-
FEndpoint: IPropertyStore;
-
PropVar: ^tag_inner_PROPVARIANT;
-
PropVar2: tag_inner_PROPVARIANT;
-
CoCreateInstance(CLASS_MMDeviceEnumerator, nil, CLSCTX_ALL, IID_IMMDeviceEnumerator,
-
FMMDevEnum.GetDefaultAudioEndpoint(eRender, eMultimedia, FMMDev);
-
FMMDev.Activate(IID_IPropertyStore, CLSCTX_ALL, PropVar^, Pointer(FEndPoint));
-
Key.fmtid := PKEY_AudioEngine_DeviceFormat_GUID;
-
Key.pid := PKEY_AudioEngine_DeviceFormat_pid;
-
// ЗДЕСЬ ВОЗНИКАЕТ ИСКЛЮЧЕНИЕ (EAccessViolation):
-
FEndPoint.GetValue(Key, PropVar2);
Источник: http://www.cyberforum.ru/delphi-multimedia/thread2034210.html
Полный код в аттаче…Вложения:
-
-
Если будет ругаться на типа переменной Key в строке FEndPoint.GetValue(Key, PropVar2); (на Delphi 2007 и выше), переставьте MMDeviceAPI в uses в самый конец списка.
Ещё строка FMMDev.Activate(IID_IPropertyStore, CLSCTX_ALL, PropVar^, Pointer(FEndPoint)) выдаёт не ноль.
Видимо, там косяк какой-то… ну и дальше х/з…p.s. В идеале, конечно, если бы можно было узнавать параметры не только устройства по умолчанию, а любого (причём, полученного через waveOutDevCaps).
И устройства ввода тоже, а не только вывода.
Но для начала бы с этим разобраться…Последнее редактирование: 6 сен 2017
-
Thetrik
UA6527P
- Публикаций:
-
0
- Регистрация:
- 25 июл 2011
- Сообщения:
- 894
На дельфи не знаю как. Могу кинуть пример как это сделать в VB6 или С++.
-
Я так понимаю, VB6 ближе к ассемблеру в том плане, что там нет интерфейсов? Если так, тогда лучше на нём.
Если есть, тогда лучше на C++.Но если можно на ассемблере (любом), то было бы лучше всего
Потому что с него можно на любой язык перевести… -
Thetrik
UA6527P
- Публикаций:
-
0
- Регистрация:
- 25 июл 2011
- Сообщения:
- 894
Для чего Activate? OpenPropertyStore
-
Так срабатывает… И дальше что с этим делать?
-
Кстати, в чём разница между eMultimedia, eConsole, eCommunications ?
-
Уф, разобрался!!!!
Понял и про eRender/eCapture и про eMultimedia/eCommunications. Только вот что такое eConsole не совсем понятно…
В целом вот так:-
procedure TfmMain.GetInfo;
-
PKEY_AudioEngine_DeviceFormat_GUID: TGUID = ‘{F19F064D-082C-4E27-BC73-6882A1BB8E4C}’;
-
PKEY_AudioEngine_DeviceFormat_pid = 0;
-
// DEFINE_PROPERTYKEY(PKEY_AudioEngine_DeviceFormat, 0xf19f064d, 0x82c, 0x4e27, 0xbc, 0x73, 0x68, 0x82, 0xa1, 0xbb, 0x8e, 0x4c, 0);
-
FMMDevEnum: IMMDeviceEnumerator;
-
FEndPoint: IPropertyStore;
-
Prop: tag_inner_PROPVARIANT;
-
CoCreateInstance(CLASS_MMDeviceEnumerator, nil, CLSCTX_ALL, IID_IMMDeviceEnumerator, FMMDevEnum);
-
FMMDevEnum.GetDefaultAudioEndpoint(eRender, eMultimedia, FMMDev);
-
FMMDev.OpenPropertyStore(STGM_READ, FEndPoint);
-
Key.fmtid := PKEY_AudioEngine_DeviceFormat_GUID;
-
Key.pid := PKEY_AudioEngine_DeviceFormat_pid;
-
// FillChar(Prop, SizeOf(Prop), 0);
-
FEndPoint.GetValue(Key, Prop);
-
Move(Prop.__MIDL____MIDL_itf_mmdeviceapi_0003_00810001.blob.pBlobData^, Format, SizeOf(Format));
-
Edit1.Text := IntToStr(Format.nChannels);
-
Edit2.Text := IntToStr(Format.nSamplesPerSec);
-
Edit3.Text := IntToStr(Format.wBitsPerSample)
Thetrik, СПАСИБИЩЕ !!!!!!!!!!
Теперь бы выяснить как сделать то же самое, но не для устройства по умолчанию, а для любого устройства…
Вложения:
-
-
Thetrik
UA6527P
- Публикаций:
-
0
- Регистрация:
- 25 июл 2011
- Сообщения:
- 894
-
if (FAILED(hr = pEnumerator—>EnumAudioEndpoints(eAll, DEVICE_STATEMASK_ALL, &pCollection))) {
-
if (FAILED(hr = pCollection—>GetCount(&uDevicesCount))) {
-
for (int i = 0; i < uDevicesCount; i++) {
-
if (FAILED(hr = pCollection—>Item(i, &pDevice))) {
-
if (FAILED(hr = pDevice—>OpenPropertyStore(STGM_READ, &ps))) {
-
if (FAILED(hr = ps—>GetValue(PKEY_AudioEngine_DeviceFormat, &pv))) {
-
Спасибо, попробую. А как выяснить имя устройства?
И будет ли оно совпадать с именем из waveOutGetDevCaps? Ну или хотя бы порядковый номер будет таким же гарантировано? Потому что открывать-то я его всё равно буду через waveOutOpen… -
Thetrik
UA6527P
- Публикаций:
-
0
- Регистрация:
- 25 июл 2011
- Сообщения:
- 894
-
Сделал всё это на MASM32 (пока только для устройства по умолчанию), разобрался как работать с COM
Возник только такой вопрос: почему Reference Count = 1 после IMMDeviceEnumerator.Release ?
И если я выполняю Release повторно, то на ExitProcess возникает исключение?-
INCLUDE \MASM32\INCLUDE\WINDOWS.INC
-
INCLUDE \MASM32\INCLUDE\KERNEL32.INC
-
INCLUDE \MASM32\INCLUDE\OLE32.INC
-
INCLUDE \MASM32\INCLUDE\MSVCRT.INC
-
INCLUDELIB \MASM32\LIB\KERNEL32.LIB
-
INCLUDELIB \MASM32\LIB\OLE32.LIB
-
INCLUDELIB \MASM32\LIB\MSVCRT.LIB
-
DEBUG = 1 ; 0 — режим релиза, 1 — режим отладки
-
;— ПСЕВДОНИМЫ, МАКРОСЫ, СТРУКТУРЫ, ИНТЕРФЕЙСЫ ————————————————————————-
-
WAVE_FORMAT_EXTENSIBLE = 0FFFEh
-
; Определить константу N1&N2&N3 со значением Value
-
Def_CatStr MACRO Value, N1, N2, N3
-
; Вызов функции (по смещению) Ofs объекта Obj с параметрами params
-
cominvk MACRO Obj, Ofs, Params:VARARG
-
reversed CATSTR <param>,<!,>,reversed
-
; Определить интерфейс с именем ComName и функциями из списка FuncList
-
Interface MACRO ComName, FuncList:VARARG
-
ComName&_QueryInterface = 0*4
-
Def_CatStr N*4, ComName,_,func
-
; Выполнить Inst, если имя DEBUG определено и не равно 0
-
; Определение функций интерфейсов
-
Interface IMMDeviceEnumerator, EnumAudioEndpoints, GetDefaultAudioEndpoint, GetDevice, RegisterEndpointNotificationCallback, UnregisterEndpointNotificationCallback
-
Interface IMMDevice, Activate, OpenPropertyStore, GetId, GetState
-
Interface IPropertyStore, GetCount, GetAt, GetValue, SetValue, Commit
-
;— ДАННЫЕ ————————————————————————————————————-
-
fmtInfo DB ‘Default Wave Format:’,13,10
-
DB ‘ FormatTag = %i%s’,13,10
-
DB ‘ SamplesPerSec = %i’,13,10
-
DB ‘ BitsPerSample = %i’,13,10
-
DB ‘ Channels = %i’,13,10
-
DB ‘ AvgBytesPerSec = %i’,13,10
-
DB ‘ BlockAlign = %i’,13,10,0
-
fmtExtraInfo DB 10,‘Extra Info:’,13,10
-
DB ‘ ValidBitsPerSample = %i’,13,10
-
DB ‘ ChannelMask = %08X (hex)’,13,10
-
DB ‘ SubFormat GUID = ‘,0
-
strWaveFmtExt DB ‘ (WAVE_FORMAT_EXTENSIBLE)’
-
strError DB ‘Interface error :(‘
-
DEBUG_ fmtDebug DB ‘%s = %i’,13,10,0
-
DEBUG_ strCoCreateInstance DB ‘DEBUG: CoCreateInstance(IMMDeviceEnumerator)’,0
-
DEBUG_ strIMMDeviceEnumerator DB ‘DEBUG: IMMDeviceEnumerator.GetDefaultAudioEndpoint’,0
-
DEBUG_ strIMMDevice DB ‘DEBUG: IMMDevice.OpenPropertyStore’,0
-
DEBUG_ strIPropertyStore DB ‘DEBUG: IPropertyStore.GetValue(PKEY_AudioEngine_DeviceFormat)’,0
-
DEBUG_ strIMMDeviceEnumeratorRelease DB ‘DEBUG: IMMDeviceEnumerator.Release’,0
-
DEBUG_ strIMMDeviceRelease DB ‘DEBUG: IMMDevice.Release’,0
-
DEBUG_ strIPropertyStoreRelease DB ‘DEBUG: IPropertyStore.Release’,0
-
CLASS_MMDeviceEnumerator GUID {0BCDE0395h,0E52Fh,0467Ch,{08Eh,03Dh,0C4h,057h,092h,091h,069h,02Eh}}
-
IID_IMMDeviceEnumerator GUID {0A95664D2h,09614h,04F35h,{0A7h,046h,0DEh,08Dh,0B6h,036h,017h,0E6h}}
-
PKEY_AudioEngine_DeviceFormat GUID {0F19F064Dh,0082Ch,04E27h,{0BCh,073h,068h,082h,0A1h,0BBh,08Eh,04Ch}}
-
DD 0 ; часть PKEY_AudioEngine_DeviceFormat
-
;— ОСНОВНОЙ КОД ——————————————————————————————————-
-
invoke CoInitialize, NULL
-
; CoCreateInstance(CLASS_MMDeviceEnumerator, nil, CLSCTX_ALL, IID_IMMDeviceEnumerator, MMDevEnum)
-
invoke CoCreateInstance, ADDR CLASS_MMDeviceEnumerator, NULL, CLSCTX_ALL, ADDR IID_IMMDeviceEnumerator, ADDR MMDevEnum
-
DEBUG_ invoke printf, ADDR fmtDebug, ADDR strCoCreateInstance, eax
-
; MMDevEnum.GetDefaultAudioEndpoint(eRender, eMultimedia, MMDev)
-
cominvk MMDevEnum, IMMDeviceEnumerator_GetDefaultAudioEndpoint, eRender, eMultimedia, OFFSET MMDev
-
DEBUG_ invoke printf, ADDR fmtDebug, ADDR strIMMDeviceEnumerator, eax
-
; MMDev.OpenPropertyStore(STGM_READ, PropStore)
-
cominvk MMDev, IMMDevice_OpenPropertyStore, STGM_READ, OFFSET PropStore
-
DEBUG_ invoke printf, ADDR fmtDebug, ADDR strIMMDevice, eax
-
; PropStore.GetValue(Key, Prop)
-
cominvk PropStore, IPropertyStore_GetValue, OFFSET PKEY_AudioEngine_DeviceFormat, OFFSET Prop
-
DEBUG_ invoke printf, ADDR fmtDebug, ADDR strIPropertyStore, eax
-
DEBUG_ invoke printf, ADDR strNewLine
-
mov ebx,Prop.blob.pBlobData
-
movzx esi,[ebx+WAVEFORMATEX.wFormatTag]
-
movzx eax,[ebx+WAVEFORMATEX.wBitsPerSample]
-
movzx ecx,[ebx+WAVEFORMATEX.nChannels]
-
movzx edx,[ebx+WAVEFORMATEX.nBlockAlign]
-
cmp esi,WAVE_FORMAT_EXTENSIBLE
-
mov edi,OFFSET strWaveFmtExt
-
NotExt: invoke printf, ADDR fmtInfo, esi, edi, [ebx+WAVEFORMATEX.nSamplesPerSec], eax, ecx, [ebx+WAVEFORMATEX.nAvgBytesPerSec], edx
-
cmp esi,WAVE_FORMAT_EXTENSIBLE
-
movzx eax,WORD PTR [ebx+18]
-
invoke printf, ADDR fmtExtraInfo, eax, DWORD PTR [ebx+20]
-
invoke StringFromGUID2, eax, ADDR GUIDString, LENGTHOF GUIDString ; переводим GUID в Unicode-строку
-
invoke wprintf, ADDR GUIDString
-
invoke printf, ADDR strNewLine
-
; Освобождаем все интерфейсы
-
DEBUG_ invoke printf, ADDR strNewLine
-
@@: cominvk MMDevEnum, IMMDeviceEnumerator_Release
-
DEBUG_ invoke printf, ADDR fmtDebug, ADDR strIMMDeviceEnumeratorRelease, eax
-
@@: cominvk MMDev, IMMDevice_Release
-
DEBUG_ invoke printf, ADDR fmtDebug, ADDR strIMMDeviceRelease, eax
-
@@: cominvk PropStore, IPropertyStore_Release
-
DEBUG_ invoke printf, ADDR fmtDebug, ADDR strIPropertyStoreRelease, eax
-
; Ожидаем нажатия любой клавиши
-
invoke GetStdHandle, STD_INPUT_HANDLE
-
invoke ReadConsoleInput, ebx, offset InputRec, 1, offset ReallyRead
-
cmp InputRec.EventType, KEY_EVENT
-
cmp InputRec.KeyEvent.bKeyDown, 0
-
invoke printf, ADDR strError ; сообщение об ошибке
Вложения:
-
-
Thetrik
UA6527P
- Публикаций:
-
0
- Регистрация:
- 25 июл 2011
- Сообщения:
- 894
Ты не должен брать во внимание это значение, нужно просто вызывать столько раз Release сколько было вызвано AddRef + 1. Внутренняя реализация объекта MMDeviceEnumerator из CoCreateInstance уже возвращает объект со значением счетчика 2, а сам объект уничтожается только из DllMain. Однако, когда ты вызываешь Release дважды то в обработчике DLL_PROCESS_DETTACH код обращается к объекту которого уже нет и происходит исключение.
-
SadKo
Владимир Садовников
С вас теперь статья .
-
Ну вообще была такая мысль, только сделаю получение списка устройств (руки должны дойти) . Хотя обещать лучше не буду
Вопрос ещё такой: как связать имя устройства через IMM-интерфейсы с именем waveIn/OutDevCaps? Там, как я понимаю, разные будут названия… хотя, пока не пробовал
p.s. А по-хорошему бы надо разобраться ещё с оповещениями и изменением громкости, но это можно уже потом описать, если что…
Последнее редактирование: 10 сен 2017
-
Thetrik
UA6527P
- Публикаций:
-
0
- Регистрация:
- 25 июл 2011
- Сообщения:
- 894
Среди прочих проблем со звуком в Windows 10, 8.1 и Windows 7 можно столкнуться с красным крестиком на значке динамика в области уведомлений и сообщением «Выходное аудио устройство не установлено» или «Наушники или динамики не подключены», при этом, чтобы устранить эту проблему иногда приходится помучиться.
В этой инструкции подробно о наиболее часто встречающихся причинах ошибок «Выходное аудио устройство не установлено» и «Наушники или динамики не подключены» в Windows и о том, как исправить ситуацию и вернуть нормальное воспроизведение звука. Если проблема возникла после обновления Windows 10 до новой версии, рекомендую сначала попробовать методы из инструкции Не работает звук Windows 10, а затем вернуться к текущему руководству. Схожая проблема может быть и в Windows 11, подробнее в статье Устройства вывода не найдены в Windows 11 и 10 — как исправить?
Проверка подключения выходных аудио устройств
В первую очередь при появлении рассматриваемой ошибки стоит проверить фактическое подключение динамиков или наушников, даже если вы уверены, что они подключены и подключены правильно.
Сначала убедитесь, что они действительно подключены (так как бывает, что кто-то или что-то случайно выдергивает кабель, а вы об этом не знаете), далее учитывайте следующие моменты
- Если вы впервые подключили наушники или динамики к передней панели ПК, попробуйте подключить к выходу звуковой карты на задней панели — проблема может заключаться в том, что разъемы на передней панели не подключены к материнской плате (см. Как подключить разъемы передней панели ПК к материнской плате).
- Проверьте, что устройство воспроизведения подключено к нужному разъему (обычно — зеленого цвета, если все разъемы одного цвета, то выход для наушников/стандартрых динамиков обычно бывает выделен, например, обведён).
- Поврежденные провода, штекер на наушниках или колонках, поврежденный разъем (в том числе в результате разрядов статического электричества) могут быть причиной проблемы. Если есть подозрения на это — попробуйте подключить любые другие наушники, в том числе от вашего телефона.
Проверка аудиовходов и аудиовыходов в диспетчере устройств
Возможно, этот пункт можно было поставить и первым в теме про «Выходное аудио устройство не установлено»
- Нажмите клавиши Win+R, введите devmgmt.msc в окно «Выполнить» и нажмите Enter — это откроет диспетчер устройств в Windows 10, 8 и Windows
- Обычно при появлении проблем со звуком, пользователь смотрит на раздел «Звуковые, игровые и видеоустройства» и ищет там наличие своей звуковой карты — High Definition Audio, Realtek HD, Realtek Audio и др. Однако, в контексте проблемы «Выходное аудио устройство не установлено» более важным является раздел «Аудиовходы и аудиовыходы». Проверьте, есть ли этот раздел в наличии и присутствуют ли там выходы на динамики и не отключены ли они (для отключенных устройство отображается стрелочка «вниз»).
- При наличии отключенных устройств — нажмите правой кнопкой мыши по такому устройству и выберите пункт «Включить устройство».
- Если в списке в диспетчере устройств есть какие-либо неизвестные устройства или устройства с ошибками (отмечены желтым значком) — попробуйте удалить их (правый клик — удалить), а затем в меню диспетчера устройств выбрать «Действие» — «Обновить конфигурацию оборудования».
Драйверы звуковой карты
Следующий шаг, который следует попробовать — убедиться, что установлены необходимые драйверы звуковой карты и они работают, при этом начинающему пользователю следует учитывать такие моменты:
- Если в диспетчере устройств в разделе «Звуковые, игровые и видеоустройства» вы видите только пункты наподобие NVIDIA High Definition Audio, AMD HD Audio, Аудио Intel для дисплеев — по всей видимости, звуковая карта или отключена в БИОС (на некоторых материнских платах и ноутбуках это возможно) или на нее не установлены необходимые драйверы, а то, что вы видите — это устройства для вывода звука по HDMI или Display Port, т.е. работающие с выходами видеокарты.
- Если вы нажали правой кнопкой мыши по звуковой карте в диспетчере устройств, выбрали «Обновить драйвер» и после автоматического поиска обновленных драйверов вам сообщили, что «Наиболее подходящие драйверы для данного устройства уже установлены» — это не дает полезных сведений о том, что установлены правильные драйверы: просто в центре обновлений Windows не нашлось других подходящих.
- Стандартные драйверы аудио Realtek и прочие могут успешно устанавливаться из различных драйвер-паков, но не всегда адекватно работают — следует использовать драйверы производителя конкретного оборудования (ноутбука или материнской платы).
В общем случае, если звуковая карта отображается в диспетчере устройств, самые верные шаги по установке правильного драйвера на нее будут выглядеть следующим образом:
- Зайдите на официальную страницу вашей материнской платы (как узнать модель материнской платы) или вашей модели ноутбука и в разделе «поддержка» найдите и загрузите имеющиеся драйверы для звука, обычно отмечены как Audio, могут — Realtek, Sound и т.п. Если, к примеру, у вас установлена Windows 10, а на оф. сайте драйверы только для Windows 7 или 8, смело скачивайте их.
- Зайдите в диспетчер устройств и удалите в разделе «Звуковые, игровые и видеоустройства» вашу звуковую карту (правый клик — удалить — установить отметку «Удалить программы драйверов для этого устройства», если таковая появится).
- После удаления запустите установку драйвера, который был скачан на первом шаге.
По завершении установки, проверьте, была ли решена проблема.
Дополнительный, иногда срабатывающий метод (при условии, что «только вчера» всё работало) — заглянуть в свойства звуковой карты на вкладку «Драйвер» и, если там активна кнопка «Откатить», нажать её (иногда Windows может автоматически обновить драйверы не на те, что нужно).
Примечание: если в диспетчере устройств нет ни звуковой карты, ни неизвестных устройств, есть вероятность, что звуковая карта отключена в БИОС компьютера или ноутбука. Поищите в БИОС (UEFI) в разделах Advanced/Peripherals/Onboard Devices что-то связанное с Onboard Audio и убедитесь, что оно включено (Enabled).
Настройка устройств воспроизведения
Настройка устройств воспроизведения также может помочь, особенно часто, если у вас к компьютеру монитор (или ТВ) подключены по HDMI или Display Port, особенно, если через какой-либо адаптер.
Обновление: В Windows 10 версии 1903, 1809 и 1803 для того, чтобы открыть устройства записи и воспроизведения (первый шаг в инструкции ниже), зайдите в Панель управления (можно открыть через поиск на панели задач) в поле просмотр установите «Значки» и откройте пункт «Звук». Второй способ — правый клик по значку динамика — «Открыть параметры звука», а затем пункт «Панель управления звуком» в правом верхнем углу (или внизу списка настроек при изменении ширины окна) параметров звука.
- Нажмите правой кнопкой мыши по значку динамика в области уведомлений Windows и откройте пункт «Устройства воспроизведения».
- В списке устройств воспроизведения нажмите правой кнопкой мыши и отметьте пункты «Показать отключенные устройства» и «Показать отсоединенные устройства».
- Убедитесь, что в качестве устройства вывода аудио по умолчанию выбраны нужные динамики (не HDMI выход и т.п.). При необходимости изменить устройство по умолчанию — нажмите по нему и выберите «Использовать по умолчанию» (также разумно включить «Использовать устройство связи по умолчанию»).
- Если необходимое устройство отключено, нажмите по нему правой кнопкой мыши и выберите пункт контекстного меню «Включить».
Дополнительные способы исправить проблему «Выходное аудио устройство не установлено»
В завершение — несколько дополнительных, иногда срабатывающих, методов исправить ситуацию со звуком, если предыдущие способы не помогли.
- Если в диспетчере устройств в «Аудиовыходах» отображаются выходные аудиоустройства, попробуйте их удалить, а затем в меню выбрать Действие — Обновить конфигурацию оборудования.
- Если у вас звуковая карта Realtek, загляните в раздел «Динамики» приложения Realtek HD. Включите правильную конфигурацию (например, стерео), а в «дополнительные настройки устройства» установите отметку на «Отключить определение гнезд передней панели» (даже если проблемы возникают при подключении к задней панели).
- Если у вас какая-то особенная звуковая карта с собственным ПО для управления, проверьте, нет ли в этом ПО каких-то параметров, которые могут вызывать проблему.
- Если у вас более одной звуковой карты, попробуйте отключить в диспетчере устройств неиспользуемую
- Если проблема появилась после обновления Windows 10, а варианты решения с драйверами не помогли, попробуйте выполнить восстановление целостности системных файлов с помощью dism.exe /Online /Cleanup-image /RestoreHealth (см. Как проверить целостность системных файлов Windows 10).
- Попробуйте использовать точки восстановления системы, если ранее звук работал исправно.
Примечание: в инструкции не описывается метод автоматического устранение неполадок Windows со звуком, поскольку, вероятнее всего вы и так его попробовали (если нет — попробуйте, оно может сработать).
Устранение неполадок автоматически запускается по двойному нажатию на значке динамика, перечёркнутому красным крестиком, также можно запустить его и вручную, см., например, устранение неполадок Windows 10.
Один из наших читателей сообщил, что все расширения файлов изменились на какой-то неизвестный формат и теперь их невозможно открыть. Если вирус или установка какой-либо программы изменили все расширения файлов на неизвестные приложения, в этом руководстве рассмотрим, как вернуть ассоциации файлов, формат и значки по умолчанию в исходное состояние которые рекомендует Микрософт.
Ассоциация файла — это привязка определенного типа файла к приложению, с помощью которого данный файл будет открыт. Например если вы дважды кликните на файле с расширением .txt он будет открыт в тестовом редакторе «Блокнот».
Все расширения файлов изменены на моем ПК; Это вирус?
Возможно, вы случайно установили для файлов по умолчанию другое значение. Однако, если это происходит со всеми файлами, лучше сначала просканировать компьютер антивирусом, прежде чем делать что-либо еще. Вы можете использовать Защитник Windows или любой другой, антивирус, который вы используете в безопасном режиме для достижения наилучших результатов.
Если сканирование прошло успешно или вы смогли удалить все зараженные файлы, которые вызвали проблему, то пришло время сбросить ассоциации файлов на значения по умолчанию, чтобы их можно было открыть в указанном приложении. Попробуйте способы, представленные ниже для решения этой проблемы.
- Как восстановить ассоциации файлов в Windows 10 с помощью приложения «Параметры»
- Восстановление ассоциации файлов с помощью правки реестра
Как восстановить ассоциации файлов в Windows 10 с помощью приложения «Параметры»
- В Windows 10 откройте «Параметры» Win + I, а затем перейдите в «Приложения» → «Приложения по умолчанию».
- Прокрутите страницу вниз, пока не увидите «Сброс к рекомендованным Майкрософт значениям по умолчанию», и нажмите кнопку «Сбросить».
Вы также можете сделать это, перейдя в классическую «Панель управления → Программы по умолчанию». Однако это приведет вас в приложение «Параметры».
Восстановление ассоциации файлов с помощью правки реестра
Если первый способ не помог, создайте точку восстановления системы, а затем попробуйте следующее:
- Откройте редактор реестра (с помощью Win + R откройте приглашение «Выполнить», затем введите regedit и нажмите клавишу Enter).
- Затем перейдите к следующему разделу:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
- Разверните «FileExts». Здесь вы увидите список папок с расширениями файлов.
- Вам нужно будет проверить каждую из них, одну за другой, и если есть папка «UserChoice», удалить ее.
- Подтвердите удаление раздела нажав кнопку «Да».
- Продолжайте пока не удалите все папки с именем «UserChoice».
В результате, все ассоциации файлов будут сброшены в исходное состояние, как после первой установки Windows.
Я надеюсь, что вы смогли решить проблему с ассоциациями файлов. Если вирус не был проблемой, то это должно быть вызвано установкой программного обеспечения или неосторожным вмешательством в настройки. Если не один из способов не помог, вам может потребоваться использовать параметр «Сбросить этот компьютер».