Страница: 1 |
Страница: 1 |
Вопрос: Помогите с AVI
Добавлено: 22.02.07 21:18
Автор вопроса: Maximus87
Кто-нибудь знает как с помощью файла ресурсов воспроизводить Avi файлы? Очень нужно!!!
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #1
Добавлено: 22.02.07 21:24
А ты из ресурса выгружай.
Номер ответа: 2
Автор ответа:
Maximus87
Вопросов: 7
Ответов: 11
Профиль | | #2
Добавлено: 23.02.07 13:28
Вопрос в том как это сделать? Я тут функцию нашел :
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long, для проигрывания многих форматов, можно ли как-нибудь ее использовать???
Номер ответа: 3
Автор ответа:
Black Berill
Вопросов: 17
Ответов: 151
Профиль | | #3
Добавлено: 24.02.07 14:22
Вот так примерно:
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Private Sub Form_Click()
Dim res
res = mciExecute("Play /путь к файлу/"
End Sub
ЗЫ: Не нашел способ программно остонавливать воспроизведение звуковых файлов, кто знает, подскажите.
Номер ответа: 4
Автор ответа:
Black Berill
Вопросов: 17
Ответов: 151
Профиль | | #4
Добавлено: 24.02.07 14:29
Дошло наконец..
оснонавливать так:
Call mciExecute("Close /путь к файлу/"
Номер ответа: 5
Автор ответа:
Maximus87
Вопросов: 7
Ответов: 11
Профиль | | #5
Добавлено: 24.02.07 19:00
Я спрашивал как с помощью этой функции загрузить Avi из файла ресурсов. Или может другой какой-нибудь способ есть.
Номер ответа: 6
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #6
Добавлено: 25.02.07 03:46
Никак. Нужно записать файл из ресурсов на диск, а потом уже воспроизводить его как обычный файл
Номер ответа: 7
Автор ответа:
Maximus87
Вопросов: 7
Ответов: 11
Профиль | | #7
Добавлено: 25.02.07 10:18
А как это сделать? Опиши пожалуйста!!!
Номер ответа: 8
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #8
Добавлено: 25.02.07 12:00
HACKER, уверен что нельзя? А как тогда винда ресурсы shell32.dll при копировании файла проигрывает?
Номер ответа: 9
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #9
Добавлено: 25.02.07 13:07
ZagZag, уверен, что винда его не распокавывает?
Номер ответа: 10
Автор ответа:
Maximus87
Вопросов: 7
Ответов: 11
Профиль | | #10
Добавлено: 25.02.07 13:43
Я тут нашел как выгружать файл из ресурсов на диск и потои воспроизводить, вот
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub Command1_Click()
Dim sFileName As String
' save file to users temp directory
sFileName = Environ("TEMP" & "\Somefile.avi"
SaveResItemToDisk "101", "CUSTOM", sFileName
Call ShellExecute(hwnd, "Play", (sFileName), "", App.Path, 1)
End Sub
Private Function SaveResItemToDisk(ByVal iResourceNum As Integer, _
ByVal sResourceType As String, ByVal sDestFileName As String) As Long
Dim bytResourceData() As Byte
Dim iFileNumOut As Integer
On Error GoTo SaveResItemToDisk_err
bytResourceData = LoadResData(iResourceNum, sResourceType)
iFileNumOut = FreeFile
Open sDestFileName For Binary Access Write As #iFileNumOut
Put #iFileNumOut, , bytResourceData
Close #iFileNumOut
SaveResItemToDisk = 0
Exit Function
SaveResItemToDisk_err:
SaveResItemToDisk = Err.Number
End Function
Подскажите как удалить выгруженный файл когда программа закрывается?
И еще я нашел класс модуль но не знаю как его использовать, слишком большой. Вот ссылка:
www.thevbzone.com, далее откроете Sample Code-VB Class Modules там два модуля есть CMCI.cls и CMCI_Adv.cls
Посмотрите пожалуйста!!!!!!!!!!!
Номер ответа: 11
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #11
Добавлено: 25.02.07 23:15
AgentFire, если распаковывает, то это в стиле MicroSoft. Внатуре еще бы файл подкачки на FDD разместили
Номер ответа: 12
Автор ответа:
Telishev S
Вопросов: 11
Ответов: 44
Web-сайт:
Профиль | | #12
Добавлено: 27.02.07 22:10
Вообще то давно есть такая штука как стриминг, и насколько я знаю, Си и Дельфи это поддерживают(по крайней мере на уровне МФЦ и ВЦЛ точно)
Курите дельфовский МС хелп(АКА Win32 SDK Help)
Номер ответа: 13
Автор ответа:
Telishev S
Вопросов: 11
Ответов: 44
Web-сайт:
Профиль | | #13
Добавлено: 27.02.07 22:14
как сделать я не знаю, но могу посоветовать - загрузите ресурс в переменную(желательно массив Byte), почитайте про МЦИ в хелпе СДК, и наверно там найдете соотв. функцию, которая уммет считывать либо массив, либо поток данных.
И ничего не надо сохранять на винт.
ведь можно же по инету слушать музыку и смотреть фильмы.
этот метод подойдет только для небольших ресурсов(насколько небольших, решит ВБ)