Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Вниз

Воспроизведение звука   Найти похожие ветки 

 
Zwein   (2005-05-03 14:35) [0]

Конкретных требований в задаче нет. Общее - нужно, чтобы пользователь не смог воспроизвести содержимое файла стандартными проигрывателями. То есть файл должен быть закодирован хоть как-нибудь. Проблема в том, что большинство проигрывателей требуют на вход файл стандартного формата и ничего другого.

Вижу два варианта:
1)[проигрыватель] принимает данные из потока (потомка TStream) (или что-то в этом роде), тогда у меня есть возможность прочитать файл, раскодировать и т.п.
2)[проигрыватель] использует свой формат, в который можно упаковать мои исходные файлы.

Посоветуйте что-нибудь (компонент/библиотека) подходящее, и как вообще сабж решается в играх.


 
XProger ©   (2005-05-03 14:42) [1]

a xor b = c
c xor b = a
Дальше догадаешься?


 
Zwein   (2005-05-03 15:51) [2]

>XProger ©   (03.05.05 14:42) [1]

Это вопрос совсем не о методах криптозащиты, а о том, что нужно "что-нибудь (компонент/библиотека)", позволяющее эту защиту, вообще, реализовать.
Достаточно перечитать тему.

Можно объяснить по другому:
Вещи типа TMediaPlayer требуют указать конкретный файл стандартного формата, доступный для чтения. Ясно, что этот файл доступен и пользователю :( . А вот если бы он принимал в качестве параметра TMemoryStream, то можно было бы прочитать закодированный файл, расшифровать его в память (TMemoryStream) и дать проигрывателю. (Расшифровка в другой файл не подходит, т.к. легко отслеживается).
Т.е. мне нужен "TMediaPlayer", работающий с TStream.
Это самый простой вариант. Вполне возможно что такое "промежуточное звено" было реализовано как-то ещё...
Или же, может существовать специализированный [проигрыватель], который сам занимается сокрытием от пользователя...

Задача актуальна, судя по тому что мало игр хранят свои soundtrack"s в *.mp3, *.wav и т.п.


 
XProger ©   (2005-05-03 18:17) [3]

Ну раз влом шифровать...
Замени первые 4 байта в WAV файле на что-то вроде ZWAV ;)
Никакой проигрыватель такой файл не откроет.
Затем перед воспроизведением, восстанавливай эти байты обратно в "RIFF" и после воспроизведения снова меняй на своё...
Подходит?


 
cyborg ©   (2005-05-03 19:46) [4]

DirectSound создаёшь буфер и пишешь в него всё, что угодно, угодного формата.


 
Zwein   (2005-05-03 21:08) [5]

> XProger ©   (03.05.05 18:17) [3]

Мне не влом шифровать. Как раз дело в том, что у меня нет такой возможности - известные мне компоненты её не предоставляют, т.к. они воспринимают только правильный общедоступный файл без всякого шифрования, и без всяких "промежутков" типа чтения из буфера...

Так вот заменяем первые N байта - пользователь конечно удивится что он не открывается винампом. Далее перед использованием восстанавливаем, чтоб, скажем, TMediaPlayer, смог его правильно прочитать, и файл становится стандартным. Юзер берёт FileMon смотрит чего моя софтина делает, находит этот файл и злобно тырит его, ведь он лежит там такой открытый всему миру :(((
Ему даже exclusive права на доступ нельзя задать, ведь он уже открыт.
А вот если б не надо было править файл прямо на диске для использования (если б это делал проигрыватель или я в памяти), то файл был бы защищён.

> cyborg ©   (03.05.05 19:46) [4]
это интересно, попробую.
было бы хорошо увидеть пример на delphi...


 
XProger ©   (2005-05-03 21:29) [6]

Читай DirectSound SDK


 
Sphinx ©   (2005-05-03 21:42) [7]

Если не ошибаюсь bass умеет читать из потоков...


 
Soft ©   (2005-05-05 00:15) [8]

Использование DirectSound на Delphi  
http://www.goldfaq.ru/modules/xfsection/article.php?articleid=431


 
Zwein   (2005-05-07 16:43) [9]

Всем спасибо.
Остановился на TBASSPlayer.
Ещё, есть много интересного на
http://www.nctsoft.com/download/index.aspx
DirectSound, конечно тоже подойдёт, но он слишком обширен для моей задачи.


 
OSokin ©   (2005-05-09 19:55) [10]

Да не мучайтесь вы! На исходниках.ру где-то в паскалевской секции были исходники проигрывателя на паскале. Но он немного не подходит для современных wav-файлов, и немного запись приходится дописывать...


 
Odyssey   (2005-05-17 09:24) [11]

Здравствуйте. А как решить ту же задачу, но для видео?


 
OSokin ©   (2005-06-07 20:06) [12]

Компонент TMediaPlayer с присабаченным к нему другим (что-то типа TVideo или др., вроде во вкладке Win32)



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.04 c
2-1126351244
РА
2005-09-10 15:20
2005.10.16
SQL справочник


1-1127649482
Jolik
2005-09-25 15:58
2005.10.16
PAS обертка для ICMP.DLL


2-1126635886
_zx
2005-09-13 22:24
2005.10.16
Как сделать форму всегда видимой?


14-1127394433
Narik
2005-09-22 17:07
2005.10.16
дата время и тд из FileListBox и DirectoryListBox


14-1127733767
Внук
2005-09-26 15:22
2005.10.16
НИОКР





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский