DirectX Music и mp3-файлы

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Александр Дудченко
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 06.11.2004 (Сб) 18:58

DirectX Music и mp3-файлы

Сообщение Александр Дудченко » 14.11.2004 (Вс) 19:10

DirectX Music проигрывает wav и mid файлы, но на mp3 файлы выдает ошибку. Причем в описании на сайте msdn тоже сказано, что поддерживаемые форматы - wav и mid. Подскажите, как можно с этим бороться или хотя бы посоветуйте программу для "упаковки" wav файлов в pak-архив с возможностью дальнейшей разархивации, как это бывает у пиратов (чего то я такую не нашел).

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 14.11.2004 (Вс) 23:30

В References проекта прицепи "ActiveMovie control type Library"

Код:

Dim Mp3 As FilgraphManager
Public Mp3Position As IMediaPosition
Dim BasAudio As IBasicAudio
Dim MusPosition As Double
Public MusDuration As Double

Sub InitMP3Music()
Set Mp3 = Nothing
Set Mp3 = New FilgraphManager
Set BasAudio = Mp3
Set Mp3Position = Mp3
End Sub

Public Sub StartNewMusic(FileName As String)
InitMP3Music
LoadMusic FileName
BasAudio.volume = MainForm.MusicVol.Value
BasAudio.Balance = 0
MusDuration = Mp3Position.Duration
Mp3.Run
End Sub

Public Sub LoadMusic(FileName As String)
Mp3.RenderFile FileName
Mp3Position.CurrentPosition = 0
End Sub


Public Sub SetMusicVol()
BasAudio.volume = MainForm.MusicVol.Value
End Sub

Public Sub DestroyMusic()
Mp3.Stop
Set Mp3Position = Nothing
Set BasAudio = Nothing
Set Mp3 = Nothing
End Sub

сначала InitMP3Music
потом StartNewMusic, SetMusicVol, DestroyMusic

MusicVol изменяй от -5000 до 0

D'alex
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 144
Зарегистрирован: 08.05.2004 (Сб) 20:11
Откуда: Moscow

Сообщение D'alex » 15.11.2004 (Пн) 0:06

mp3 проигрываеться через DirectShow Objects
в SDK есть пример

Хой
Не математик
Не математик
 
Сообщения: 541
Зарегистрирован: 26.08.2002 (Пн) 0:21
Откуда: Россия

Сообщение Хой » 27.11.2004 (Сб) 16:01

скачай с http://www.un4seen.com/ BASS и возрадуйся, ибо количество проигрываемых форматов поражает, есть модуль и CD проигрывать...
Есть примеры на C, Asm, Delphi, VB
*censored*

Fara
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 19.04.2004 (Пн) 7:48
Откуда: Ташкент

Сообщение Fara » 16.06.2006 (Пт) 14:01

А это:
Yurich писал(а):Public MusDuration As Double
...
MusDuration = Mp3Position.Duration

продолжительность звука? Тоесть скока времени будет играть да?
Если да то у меня неполучаеться??? Хочу чтобы проигрывал 3 секунды но он играет весь файл до конца.
Как это сделать?

GLEB
Бывалый
Бывалый
 
Сообщения: 246
Зарегистрирован: 24.05.2005 (Вт) 12:16

Сообщение GLEB » 17.06.2006 (Сб) 20:34

Duration - продолжительность звучания всего файла.
CurrentPosition - время на текущей позиции.
Rate - скорость проигрывания.
Есть еще StopTime - может это то что тебе надо? (хотя сам не знаю)
А еще можно так:

If Mp3Position.CurrentPosition = 3 Then Mp3.Stop


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

    TopList