Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2008, 18:17   #1
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию Закрепление файла за прогой

Как сделать так, чтобы при открытие муз. файла открывалась моя прога и началось воспроизведение
(воспроизведение через MediaPlayer)
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 05.01.2008, 18:28   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Можно в обработчике формы OnCreate проверить наличие переданных параметров. Например:
Код:
if ParamCount > 0 then
  begin
    MediaPlayer1.FileName := ParamStr(1);
    MediaPlayer1.Play;
  end;
Jeni вне форума Ответить с цитированием
Старый 06.01.2008, 18:45   #3
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

что-то не получилось, ошибка...
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 06.01.2008, 20:55   #4
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Вот пример:
Код:
В обработчике нажатия кнопки Зарегистрировать пишем следующий код:
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey('.BMP' , True);
Reg.WriteStringC1, 'BMPfile');
Reg.CloseKey;
Reg.CreateKey('BMP'+'file_cyd');
Reg.OpenKey('BMPfile\Defaultlcon', True);
Reg.WriteString('', Application.ExeName + ',0');
Reg.CloseKey;
Reg.OpenKey('BMPfileVshellXppenXcommand', True);
Reg.WriteStringC1, Application.ExeName + ' "%!"');
Reg.CloseKey;
Reg.Free;
end;
Код:
Имя и полный путь к файлу передается нам в качестве параметра. Чтобы
считать эти параметры, мы должны создать обработчик события onshow для
главной формы и там написать следующий код:
procedure TForml.FormShow(Sender: TObject);
Str:String,•
i:Integer;
begin
if (ParamCount > 0) then
begin
Str:=ParamStr(1);
for i:=2 to ParamCount do
begin
Str:=Str+' '+ParamStr(i);
end;
Imagel.Picture.LoadFromFile(Str);
end;
end;
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 06.01.2008, 20:57   #5
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Пример взят из книги "Делфи глазами хакера" М.Фленов. Пример для обработки изображений.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 08.01.2008, 14:11   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Лубышев Посмотреть сообщение
Как сделать так, чтобы при открытиИ муз. файла открывалась моя прога и началось воспроизведение
(воспроизведение через MediaPlayer)
Зачем привязываться к MediaPlayer?
Уважаемый Snowy некогда дал весьма достойный ответ на вопросы такого рода:
Цитата:
Как добавить в свою программу звук? Но не просто добавить, а сделать так, чтобы он играл не из какого-то файла, а был вшит в .exe! И не просто звук, а чтобы это ещё и не сильно увеличивало размер программы!
Вопросы трекерной музыки отложим на потом. Сейчас поговорим об mp3.
Итак, наша задача - засунуть mp3 в нашу программу и заставить его воспроизводиться по команде. Для этого нам, разумеется, понадобится сам файл звука.
Для тех кто не знает, как добавить его в ресурсы своей программы:
Создаем текстовый файл с именем sounds.rc
Прописываем в него наши файлы. Каждый файл в ресурсах - это своя строка. Пример содержимого файла:

SND1 WAVE 1.wav
SND2 WAVE Bum.wav
SND3 WAVE Crazy.wav
Первое слово - имя, которое мы будем указывать в программе.
Второе - тип ресурса = wav файл
Третье - имя файла.

Сохраняем файл.
Компилим его из командной строки: brcc32 sounds.rc
В результате получаем скомпилированный файл - sounds.res.
Второй этап:
В программе подключаем этот файл:
{$R sounds.res}
Теперь для воспроизведения звука нужно просто дать команду:
PlaySound('SND1', 0, SND_RESOURCE or SND_ASYNC);
где первым параметром - имя, назначенное нами файлу в файле ресурсов.
Предчувствую Ваше справедливое возмущение: "Как же так? Нам обещали mp3!"
Третий этап:
Открываем меню Пуск -> Программы -> стандартные -> Развлечения
Запускаем "Звукозапись". У кого нет, можно доустановить через установку/удаление программ или воспользоваться другой программой подобного рода.
Открываем наш wav файл: Меню -> Файл -> открыть.
Теперь превратим его в mp3: Меню -> Файл -> Свойства Нажимаем кнопку "Конвертировать".
Выбираем формат MP3 и нужное нам качество воспроизведения.
Сохраняем: Меню -> Файл -> Сохранить.
Все. Теперь внутри нашего wav файлика реально сидит MP3, который без проблем воспроизводится через PlaySound при наличии в системе установленного MP3 кодека. А данный кодек установлен во всех Windows после 2000-й по умолчанию. В более ранние, как правило, попадает вместе с другими программами или наборами кодеков.

Последний раз редактировалось mihali4; 08.01.2008 в 18:02.
mihali4 вне форума Ответить с цитированием
Старый 08.01.2008, 14:46   #7
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Радость

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Зачем привязываться к MediaPlayer?
Некогда уважаемый Snowy дал весьма достойный ответ на вопросы такого рода:
Гдеж я был когда он дал такой достойный ответ ?
Наконецто нормальный мини тутор как впихнуть музыку в *.ехе и при этом не использовать медиаплеер .
Респект !
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 08.01.2008, 15:03   #8
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Э-э-э-э... mihali4 при всем уважении, но человек просит что бы когда он открывает файл *.МР3 из директории, то для воспроизведения открывалась не та прога которая закреплена за типом файла, а именно его прога.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 13.01.2008, 20:16   #9
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Спасибо SunKnight я обязательно попробую!
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 13.01.2008, 20:50   #10
One.Love
Пользователь
 
Регистрация: 13.01.2008
Сообщений: 91
По умолчанию

Цитата:
Как сделать так, чтобы при открытие муз. файла открывалась моя прога и началось воспроизведение
(воспроизведение через MediaPlayer)
просто поставь свою прогу поумолчанию как плеер.
Тыкаешь на муз файле правой кнопкой мыши, свойства=>изменить и выбираешь свой плеер
One.Love вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с прогой на Си Diget Общие вопросы C/C++ 3 04.06.2008 00:20
Закрепление Манжосов Денис :) Помощь студентам 1 29.05.2008 10:31
помогите с прогой DeDoK Общие вопросы Delphi 7 09.05.2008 23:51
помогите с прогой никита989 Фриланс 5 14.01.2008 17:38
Помогите с прогой DarthNemo Помощь студентам 2 06.05.2007 18:11