|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.05.2011, 15:01 | #11 |
Пользователь
Регистрация: 08.05.2011
Сообщений: 14
|
Я уже где-то читал мнение одного профессионала о TMediaPlayer... И он не применяет его в своих кодах. Поэтому хотелось бы научиться использовать второй вариант, с которым, как вы сказали, проблем не будет.
Конкретная задача - есть звуковой файл в формате MP3 - я каким-то образом создал текстовый файл с началами и окончаниями фраз как мне проиграть этот файл по фразам с помощью BASS? Если можете - помогите с кодом. Дело в том, что сейчас мне нужно доделать очередной курс по английскому. а там несколько тысяч уроков... Ну никак не могу терять время. Всё работает и так хорошо. Но ВЕС!!!! Нужно как-то перейти на MP3 без потери качества и второй путь мне кажется перспективным. Последний раз редактировалось limansky; 08.05.2011 в 15:14. |
08.05.2011, 15:22 | #12 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Ну, качаем BASS отсюда. Он бесплатен для некоммерческого использования.
Распаковываем. Главный файл там - это bass.dll. Эту библиотеку нужно скинуть в папку с программой (ну или в любое другое место, где программа сможет его найти). Соответственно, при установке программы нужно также устанавливать и этот файл вместе с программой. В bass.chm находится справка (документация). В папке Delphi лежат примеры использования библиотеки на Delphi. Главным там является заголовочник: файл bass.pas. Кидаем его в папку исходников программы и подключаем в uses (распространять с программой его, понятно, не нужно). Использовать её достаточно просто - посмотрите пример в папке \delphi\BassTest\. Кратко, нужно: удостовериться, что мы загрузили нужную версию BASS - вызываем BASS_GetVersion и сравниваем с текущей версией BASSVERSION. Далее, инициализируем движок вызовом BASS_Init. Параметры можно ставить по умолчанию (если, конечно, вам не нужно что-то особенное, вроде моно-звука). Затем можно начинать проигрывание звуков. В конце работы нужно вызвать BASS_Free. А для проигрывания звуков есть достаточно очевидные вещи вроде BASS_ChannelPlay, BASS_ChannelStop. Сам файл для проигрывания загружается через BASS_StreamCreateFile или BASS_SampleLoad. Вот, собственно и всё.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
Последний раз редактировалось GunSmoker; 08.05.2011 в 15:29. |
08.05.2011, 15:26 | #13 |
Пользователь
Регистрация: 08.05.2011
Сообщений: 14
|
Мне кажется перспективным второй вариант. И, если можно, как будет выглядеть код
MediaPlayer.FileName:='Sound.MP3'; MediaPlayer.Open; MediaPlayer.StartPos:=SPos; MediaPLayer.EndPos:=EPos; MediaPlayer.Play с использованием BASS? Понятно, что там уже никакого MediaPlayer не будет. Если можно - конкретный пример. |
08.05.2011, 15:28 | #14 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Для установки позиций используется BASS_ChannelSetPosition. Только вы позиции, наверное, задавать будете в секундах. Чтобы секунды привести к реальной позиции в байтах - можно использовать BASS_ChannelSeconds2Bytes.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
08.05.2011, 15:43 | #15 |
Пользователь
Регистрация: 08.05.2011
Сообщений: 14
|
Огромное спасибо! Что ж... Вперёд в наступление на BASS. Придётся несколько повысить свой уровень в программировании.
|
08.05.2011, 15:55 | #16 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Простой пример:
Код:
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
08.05.2011, 15:56 | #17 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Часть 2 (не влезло в 1 пост).
Код:
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
08.05.2011, 16:03 | #18 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Пример проигрывания с середины файла:
Код:
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
08.05.2011, 16:04 | #19 |
Пользователь
Регистрация: 08.05.2011
Сообщений: 14
|
Вы даже не представляете, насколько я Вам благодарен.
Вы подарили мне столько времени! Мне, как чайнику, порой приходится тратить неделю на решение элементарного вопроса. Как только найду время - сразу же постараюсь внедрить BASS в программу и обязательно отпишусь. С уважением, Олег Лиманский. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как заблокировать клавиатуру? | BaRSyk174 | Общие вопросы Delphi | 6 | 26.02.2011 00:34 |
Как переключить видеокарты на семерке | Agent3004 | Компьютерное железо | 1 | 24.02.2011 22:28 |
Переключить раскладку клавиатуры. | SKYLINEGTR | Помощь студентам | 2 | 02.02.2011 00:50 |
Программно переключить закладки TabControl | Человек_Борща | Общие вопросы Delphi | 12 | 18.12.2010 01:01 |
Как заблокировать клавиатуру? | dradysman | Общие вопросы Delphi | 3 | 30.11.2009 18:34 |