Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 504
от 24.01.2008, 14:00

Администратор:Калашников О.А.
В рассылке:Подписчиков: 372, Экспертов: 36
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 119291: Как объявить и вызвать функцию mciExecute и mciSendString для записи mp3?, который является одной из производных формата mpeg, для проигрывания mp3 пример в листинге.Среда разработки VB6....

Вопрос № 119.291
Как объявить и вызвать функцию mciExecute и mciSendString для записи mp3?, который является одной из производных формата mpeg, для проигрывания mp3 пример в листинге.Среда разработки VB6.

Приложение:

Отправлен: 19.01.2008, 13:37
Вопрос задал: Sapozhnikov Vladimir (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: DrakoN
Здравствуйте, Sapozhnikov Vladimir!
Сам VB6 не видел несколько лет. Но попробую помочь вам моими архивами. Естественно что скомпилировать не мог. Поєтому не гарантирую что поможет но все же что то лучше чем ничего.
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Private Sub Form_Click()
Dim res Variant
res = mciExecute("Play ПутьДоФайла")
End Sub

Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Sub Form_Load()
Dim x As Long
x = PlaySound("C:ПутьДоФайла", 0, &H1 Or &H10)
End Sub
Для работы этого примера нужно добавить в проект Active Movie Control Type Library (Проект (Project) -> Ссылки (Reference))

'------------------------------------------

Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Sub Form_Load()
Dim x As Long
x = sndPlaySound("C:ПутьДоФайла", &H1 Or &H10)
End Sub
Option Explicit

Private Const MAX_VOLUME As Long = 100
Private Const MAX_BALANCE As Long = 100
Private Const MAX_SPEED As Long = 226

Public DirectShow_Event As IMediaEvent
Public DirectShow_Control As IMediaControl
Public DirectShow_Position As IMediaPosition
Public DirectShow_Audio As IBasicAudio

Public Function DirectShow_Load_Media(File_Name As String) As Boolean
On Error GoTo Error_Handler
If Right(File_Name, 4) = ".mp3" Then
Set DirectShow_Control = New FilgraphManager
DirectShow_Control.RenderFile (File_Name)
Set DirectShow_Audio = DirectShow_Control
DirectShow_Audio.Volume = 0
DirectShow_Audio.Balance = 0
Set DirectShow_Event = DirectShow_Control
Set DirectShow_Position = DirectShow_Control
DirectShow_Position.Rate = 1
DirectShow_Position.CurrentPosition = 0
Else
GoTo Error_Handler
End If
DirectShow_Load_Media = True
Exit Function
Error_Handler:
DirectShow_Load_Media = False
End Function

Public Function DirectShow_Play() As Boolean
On Error GoTo Error_Handler
DirectShow_Control.Run
DirectShow_Play = True
Exit Function
Error_Handler:
DirectShow_Play = False
End Function

Public Function DirectShow_Stop() As Boolean
On Error GoTo Error_Handler
DirectShow_Control.Stop
DirectShow_Position.CurrentPosition = 0
DirectShow_Stop = True
Exit Function
Error_Handler:
DirectShow_Stop = False
End Function

Public Function DirectShow_Pause() As Boolean
On Error GoTo Error_Handler
DirectShow_Control.Stop
DirectShow_Pause = True
Exit Function
Error_Handler:
DirectShow_Pause = False
End Function

Public Function DirectShow_Volume(ByVal Volume As Long) As Boolean
On Error GoTo Error_Handler
If Volume >= MAX_VOLUME Then Volume = MAX_VOLUME
If Volume <= 0 Then Volume = 0
DirectShow_Audio.Volume = (Volume * MAX_VOLUME) - 10000
DirectShow_Volume = True
Exit Function
Error_Handler:
DirectShow_Volume = False
End Function

Public Function DirectShow_Balance(ByVal Balance As Long) As Boolean
On Error GoTo Error_Handler
If Balance >= MAX_BALANCE Then Balance = MAX_BALANCE
If Balance <= -MAX_BALANCE Then Balance = -MAX_BALANCE
DirectShow_Audio.Balance = Balance * MAX_BALANCE
DirectShow_Balance = True
Exit Function
Error_Handler:
DirectShow_Balance = False
End Function
Public Function DirectShow_Speed(ByVal Speed As Single) As Boolean
On Error GoTo Error_Handler

If Speed >= MAX_SPEED Then Speed = MAX_SPEED
If Speed <= 0 Then Speed = 0

DirectShow_Position.Rate = Speed / 100
DirectShow_Speed = True
Exit Function
Error_Handler:
DirectShow_Speed = False
End Function

Public Function DirectShow_Set_Position(ByVal Hours As Long, ByVal Minutes As Long, ByVal Seconds As Long, Milliseconds As Single) As Boolean
On Error GoTo Error_Handler
Dim Max_Position As Single
Dim Position As Double
Dim Decimal_Milliseconds As Single

'Keep minutes within range
Minutes = Minutes Mod 60

'Keep seconds within range
Seconds = Seconds Mod 60

'Keep milliseconds within range and keep decimal
Decimal_Milliseconds = Milliseconds - Int(Milliseconds)
Milliseconds = Milliseconds Mod 1000
Milliseconds = Milliseconds + Decimal_Milliseconds

'Convert Minutes & Seconds to Position time
Position = (Hours * 3600) + (Minutes * 60) + Seconds + (Milliseconds * 0.001)
Max_Position = DirectShow_Position.StopTime

If Position >= Max_Position Then
Position = 0
GoTo Error_Handler
End If

If Position <= 0 Then
Position = 0
GoTo Error_Handler
End If
DirectShow_Position.CurrentPosition = Position
DirectShow_Set_Position = True
Exit Function
Error_Handler:
DirectShow_Set_Position = False
End Function
Public Function DirectShow_End() As Boolean
On Error GoTo Error_Handler
If DirectShow_Loop = False Then
If DirectShow_Position.CurrentPosition >= DirectShow_Position.StopTime Then DirectShow_Stop
End If

DirectShow_End = True
Exit Function

Error_Handler:

DirectShow_End = False
End Function

Public Function DirectShow_Loop() As Boolean
On Error GoTo Error_Handler

If DirectShow_Position.CurrentPosition >= DirectShow_Position.StopTime Then
DirectShow_Position.CurrentPosition = 0
End If
DirectShow_Loop = True
Exit Function
Error_Handler:
DirectShow_Loop = False
End Function

Public Sub DirectShow_Shutdown()
Set DirectShow_Audio = Nothing
Set DirectShow_Event = Nothing
Set DirectShow_Control = Nothing
Set DirectShow_Position = Nothing
End Sub

'---------------------------------------------------------------------------
Option Explicit

Private Sub Form_Activate()
'Change the file path of your mp3 in here.
DirectShow_Load_Media "C:Jacob's StuffMusicMp3'sBlack MetalDimmu Borgir - Enthrone Darkness Triumphant - 10 - A Succubus In Rapture.mp3"
'You don't need to do this part, but it's nice to be
'able to control it.
'------------------------------------------------
DirectShow_Volume 100
DirectShow_Balance 0
DirectShow_Speed 100
DirectShow_Set_Position 0, 0, 0, 0
'------------------------------------------------

DirectShow_Play
End Sub

Private Sub Form_Unload(Cancel As Integer)
DirectShow_Shutdown
End Sub
Также сходи сюда
http://kbyte.ru/Samples/Show.aspx?id=243&lang=en
и сюда
http://kbyte.ru/Samples/Show.aspx?id=230&lang=en

---------
От Винта!
Ответ отправил: DrakoN (статус: Студент)
Ответ отправлен: 20.01.2008, 00:07


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.70 от 17.01.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное