![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 05.12.2007
Сообщений: 206
|
![]()
Всем доброе время суток! Вот тут сидел с плеером... при запуске на других компютерах возникает MCI ошыбка. Ну я впихнул в каталог с файлом звуковой файлик да и дело с концом. Но, интересно можно зделать так чтоб етой ошыбки не возникало без звукового файла? Чтоб в комплекте шол только 1 ехе файл?
|
![]() |
![]() |
![]() |
#2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Конечно возникает, то что ты в инспекторе объектов задаешь файл, на самом деле просто записывается путь к нему в свойство FileName. Естественно если файл не обнаруживается, возникает ошибка.
Чтобы ошибки не возникало, достаточно проверять предварительно наличие файла функцией FileExists. Чтобы в комплекте шел один exe файл, музыку нужно засунуть в ресурсы этого exe.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 05.12.2007
Сообщений: 206
|
![]()
Ну да я понимаю что я пишу путь
![]() ![]() Ах да и ещо одно. Как называетса в програме етот еррор? Ну я имею ввиду MCI чтоб я мог зделать для него исключительную ситуацыю ![]() |
![]() |
![]() |
![]() |
#4 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
чтобы воспроизведение началось успешно, необходимо:
1. Задать путь к файлу - Mediaplayer1.FileName:='music.mp3'; 2. Открыть устройство - Mediaplayer1.Open; 3. Включить проигрывание - Mediaplayer1.Play; Вовсе не обязательно "подшивать" музыкальный файл в екзешник. Вполне можно положить его рядом с ним, так даже лучше. Нормальный адекватный юзер никогда не удалит этот файл, так как многие программы свои звуки хранят именно так, и все это знают. На случай удаления, перед загрузкой музыки просто проверять путь к файлу, если файл не существует выдать сообщение "Звуковой файл не найден. Вероятно вы его удалили..." ну и дальше в таком роде. Ну и естественно не пытаться его проигрывать. Лучше предотвратить исключение чем его обрабатывать. Конечно можно хранить в ресурсах, это отдельная тема, причем многократно рассмотренная, и на этом форуме в том числе. При загрузке из ресурса, этого еррора не может быть по определению.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 05.12.2007
Сообщений: 206
|
![]()
Большое спасибо за разяснение
![]() Нащет как ето делать я все так и делал ![]() ![]() |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 05.03.2008
Сообщений: 33
|
![]()
Прошу извинить за вмешательство, но...
>>Чтобы в комплекте шел один exe файл, музыку нужно засунуть в ресурсы этого exe. Как сохранить приложение, чтобы все файлы, которые ему нужны, вложенные папки и т.д. содержались в этом экзешнике?? |
![]() |
![]() |
![]() |
#7 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Ну с вложенными папками это вы уже загнули, но отдельные файлы включаются в ресурсы без проблем.
Изображения и текст - даже не надо лишних движений, достаточно добавить к проекту TImage и загрузить в него картинку, текст - TMemo. С остальными файлами, как в принципе и с этими тоже, нужно поступать так. 1. Написать rc файл. 2. Скомпилировать из него с помощью brcc32 res-файл. 3. Добавить в код строку {$R имя файла.res} и написать процедуры загрузки из ресурсов. Подробно как это делать читатайте на этом форуме, в книгах, в интернете. Тема одна из популярных - Загрузка из ресурсов (работа с ресурсами, компиляция ресурсов).
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 05.12.2007
Сообщений: 206
|
![]()
Помоги плиз разобратса с кодом делфи. Взял его с здешних плееров.
function FormatTime(Time: Integer): string; const sec = 1000; min = 60 * sec; hour = 60 * min; var h, m, s : Integer; begin h := Time div hour; m := (Time div min) mod 60; s := (Time div sec) mod 60; if Time < hour then Result := Format('%d:%.2d', [m, s]) else Result := Format('%d:%.2d:%.2d', [h, m, s]); end; Если дослвоно то насколько я понимаю оно: Час:= Время делим на 60 (а откуда мы с етой функцыи взяли время? Нигде оно тут непрописано.... да и в варе юнита тоже.... ето что зарезервированая?) Также и с минутами вроде. Час делим на минуты а потом с етого берьом мод... мод насколько я помню ето...тьфу уже забыл Дальше если время менше часа значит выводим ето в минутах и секундах. А если менше значит в часах, мин и с. ('%d:%.2d:%.2d', [h, m, s]) прокоментируйте плиз как оно ето выводит? что такое %d:%.2d:%.2d ето зарезервированая функция? И интересно как после етого я могу ссылатса мол label1.Caption:=FormatTime(Position )+'/'+ FormatTime(Lenght) ??? Ведь в етой функцыи неговоритса про Позицыю и продолжытельность. Чтото я тут ничего непонимаю... |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MediaPlayer и mp3 | ale_krolik | Мультимедиа в Delphi | 5 | 29.05.2009 22:39 |
Mediaplayer | anton14 | Мультимедиа в Delphi | 12 | 20.10.2008 11:07 |
Mediaplayer | RealSHELS | Общие вопросы Delphi | 3 | 12.05.2008 16:44 |
Mediaplayer.... | ZhekON | Компоненты Delphi | 13 | 19.02.2007 19:32 |
MediaPlayer | PAVEL315 | Общие вопросы Delphi | 1 | 10.02.2007 16:05 |