Памятка “CD аудио треки и старые игры”: различия между версиями
Ogr 2 (обсуждение | вклад) м (added Category:Описания и инструкции using HotCat) |
Ogr 2 (обсуждение | вклад) |
||
(не показано 13 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
− | <br /> | + | <br />'''Вопрос:''' почему в заставках в данной игре, и в других играх музыка воспроизводится, а музыка в виде CD-аудио - нет. |
− | <br /> | + | <br />'''Ответ:''' потому, что музыку на звуковых дорожках CD воспроизводит не игра, а сам привод. |
<br /> | <br /> | ||
− | + | === Общие рекомендации === | |
− | + | * Если в системе несколько оптических приводов, буква используемого привода должна быть первой. То есть, если в системе один привод под буквой «Q», а другой под «U», то либо используйте привод под той буквой, что идет по алфавиту первой (то есть «Q»), либо поменяйте у другого букву (то есть «U», скажем, на «I»). | |
− | + | * Убедитесь, что в системном микшере компакт-диск\лазерный проигрыватель не выключен, и громкость установлена на полную. | |
<br /> | <br /> | ||
− | + | ===Windows 9х (win95\98)=== | |
− | + | *Вариант 1: привод и аудио карта должны быть соединены аудио кабелем. | |
− | + | *Вариант 2: использовать цифровое воспроизведение аудио дисков. Для этого в 9х нужен '''драйвер WDM''' на аудио карту. Включается в '''панель управление > мультимедиа > музыкальный компакт-диск > выбрать нужный привод'''. | |
− | + | *Вариант 3: использовать виртуальный привод. К примеру «Daemon Tools» и «Alcohol». Последние версии, поддерживающие 9х: '''Daemon Tools 3.47''', '''Alcohol 1.9.5.3105'''. | |
+ | <br /> | ||
+ | ===Windows ХР=== | ||
+ | *Вариант 1: привод и аудио карта должны быть соединены аудио кабелем. В современных приводах и аудио картах этот интерфейс отмер. | ||
+ | *Вариант 2: использовать цифровое воспроизведение аудио дисков. Включается в '''панель управление > звуки и аудиоустройства > оборудование > выбрать нужный привод > свойства > свойства'''. | ||
+ | *Вариант 3: использовать виртуальный привод. К примеру «Daemon Tools» и «Alcohol». | ||
+ | |||
+ | <br />Для того чтобы DOS-приложения в Windows NT/2K/XP могли использовать цифровое воспроизведение CD-аудио, нужно установить в систему утилиту '''Sapucdex'''. Установка: распаковать содержимое архива в '''system32''', в '''WINDOWS\system32\AUTOEXEC.NT''' заменить строку “'''lh %SystemRoot%\system32\mscdexnt.exe'''” на “'''lh %SystemRoot%\system32\SAPUCDEX.EXE.exe'''”. | ||
<br /> | <br /> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
<br /> | <br /> | ||
− | + | ===Windows 7=== | |
+ | *В [[Windows 7]] никаких настроек касаемо CD-аудио нет. Поэтому, работает – хорошо, нет – используйте либо утилиты '''CDAudio Proxy''' и '''_inmm''', либо эмуляторы ПК с виртуальными машинами. это же касается всех ОС старше Windows 7. | ||
+ | |||
+ | <br />'''Вопрос:''' Почему на Windows 7 в Turok 2 зацикливания музыки нет? Какие могут быть причины? Может дело в cd драйвере? Что участвует в передаче звука с привода? В пропатченом (неофиц патчем) Turok2, например, всё нормально. | ||
+ | <br />'''Ответ:''' Начиная с NT 5.x (Windows XP и выше) в библиотеке winmm.dll в функцию mciSendCommand() которой проигрываются CD-треки внесли изменения. В частности, теперь при открытии устройства, и последующем его использовании через уже открытый дескриптор, проверяется через функцию GetCurrentThreadId() чтобы это делалось из одного потока, иначе ошибка. Если в winmm.dll эту проверку сломать, то всё будет работать без проблем. Зачем оно было сделано - одному Биллу Гейтсу известно, хотя есть подозрение, что это сделано в целях повышения безопасности - чтобы одни потоки не могли управлять дескрипторами других. | ||
+ | <br />Начиная с Windows Vista и выше эту тему расширили и углубили - теперь музыка не повторяется, потому как сигнал о завершении текущего трека, видимо (глубоко эта проблема не изучалась), приходит только тому потоку, через который было открыто устройство. Если поглядеть исходные коды к неофициальному патчу Turok 2, то видно, что там специально отлавливается момент окончания трека и производится его перезапуск вручную, что для Turok 2 нормально, но для игр, где треки проигрываются один раз без повторения - нет (надо писать полноценный "эмулятор" winmm.dll). | ||
<br /> | <br /> | ||
− | [[Категория: | + | == См. также == |
+ | * [[Памятка об основных способах решения проблем]] | ||
+ | |||
+ | == Ссылки == | ||
+ | Sapucdex и Daemon Tools 3.47 можно скачать на сайте, в разделе [http://www.old-games.ru/utils/soft/ файлы]. | ||
+ | [[Категория:Технические вопросы]] | ||
+ | [[Категория:FAQ]] |
Текущая версия на 15:04, 30 апреля 2023
Вопрос: почему в заставках в данной игре, и в других играх музыка воспроизводится, а музыка в виде CD-аудио - нет.
Ответ: потому, что музыку на звуковых дорожках CD воспроизводит не игра, а сам привод.
Общие рекомендации
- Если в системе несколько оптических приводов, буква используемого привода должна быть первой. То есть, если в системе один привод под буквой «Q», а другой под «U», то либо используйте привод под той буквой, что идет по алфавиту первой (то есть «Q»), либо поменяйте у другого букву (то есть «U», скажем, на «I»).
- Убедитесь, что в системном микшере компакт-диск\лазерный проигрыватель не выключен, и громкость установлена на полную.
Windows 9х (win95\98)
- Вариант 1: привод и аудио карта должны быть соединены аудио кабелем.
- Вариант 2: использовать цифровое воспроизведение аудио дисков. Для этого в 9х нужен драйвер WDM на аудио карту. Включается в панель управление > мультимедиа > музыкальный компакт-диск > выбрать нужный привод.
- Вариант 3: использовать виртуальный привод. К примеру «Daemon Tools» и «Alcohol». Последние версии, поддерживающие 9х: Daemon Tools 3.47, Alcohol 1.9.5.3105.
Windows ХР
- Вариант 1: привод и аудио карта должны быть соединены аудио кабелем. В современных приводах и аудио картах этот интерфейс отмер.
- Вариант 2: использовать цифровое воспроизведение аудио дисков. Включается в панель управление > звуки и аудиоустройства > оборудование > выбрать нужный привод > свойства > свойства.
- Вариант 3: использовать виртуальный привод. К примеру «Daemon Tools» и «Alcohol».
Для того чтобы DOS-приложения в Windows NT/2K/XP могли использовать цифровое воспроизведение CD-аудио, нужно установить в систему утилиту Sapucdex. Установка: распаковать содержимое архива в system32, в WINDOWS\system32\AUTOEXEC.NT заменить строку “lh %SystemRoot%\system32\mscdexnt.exe” на “lh %SystemRoot%\system32\SAPUCDEX.EXE.exe”.
Windows 7
- В Windows 7 никаких настроек касаемо CD-аудио нет. Поэтому, работает – хорошо, нет – используйте либо утилиты CDAudio Proxy и _inmm, либо эмуляторы ПК с виртуальными машинами. это же касается всех ОС старше Windows 7.
Вопрос: Почему на Windows 7 в Turok 2 зацикливания музыки нет? Какие могут быть причины? Может дело в cd драйвере? Что участвует в передаче звука с привода? В пропатченом (неофиц патчем) Turok2, например, всё нормально.
Ответ: Начиная с NT 5.x (Windows XP и выше) в библиотеке winmm.dll в функцию mciSendCommand() которой проигрываются CD-треки внесли изменения. В частности, теперь при открытии устройства, и последующем его использовании через уже открытый дескриптор, проверяется через функцию GetCurrentThreadId() чтобы это делалось из одного потока, иначе ошибка. Если в winmm.dll эту проверку сломать, то всё будет работать без проблем. Зачем оно было сделано - одному Биллу Гейтсу известно, хотя есть подозрение, что это сделано в целях повышения безопасности - чтобы одни потоки не могли управлять дескрипторами других.
Начиная с Windows Vista и выше эту тему расширили и углубили - теперь музыка не повторяется, потому как сигнал о завершении текущего трека, видимо (глубоко эта проблема не изучалась), приходит только тому потоку, через который было открыто устройство. Если поглядеть исходные коды к неофициальному патчу Turok 2, то видно, что там специально отлавливается момент окончания трека и производится его перезапуск вручную, что для Turok 2 нормально, но для игр, где треки проигрываются один раз без повторения - нет (надо писать полноценный "эмулятор" winmm.dll).
См. также
Ссылки
Sapucdex и Daemon Tools 3.47 можно скачать на сайте, в разделе файлы.