Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Поле "вложение" путь к файлу  [new]
vmag
Member

Откуда: MP
Сообщений: 3269
А 2010, поле Вложение (НЕ ОLE) в котором ОДИН муз. файл mp3
Как его проиграть из формы без бубна ?

С бубном так:
1. Выгружаем файл в каталог на диск.
2. Потом проигрываем так:
Public Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Call mciExecute("play C:\file1.mp3") ' В скобках после play путь к файлу

При этом всё чинно и благородно, играет как бы само приложение, плееры не стартуют...
Как сделать тоже самое без бубна, то есть без пункта 1, сразу проиграть файл чинно и благородно ?
- Управлять проигрыванием не нужно, соответственно и решения такие не нужны (с кучей Актив-Х, dll и т.д.)...
- Останов тоже не нужен, это рингтоны на пару секунд...
Самое интересное, что если добавить хотя бы один файл в бд штатным диалогом акцесса, то этой командой
Call mciExecute("play " & Me.ПолеMP3.FileName)

будут проигрываться все файлы из БД из этой же папки, пока не перезапустишь программу, но это уже похоже
на работу гиперссылок, а хотелось бы сразу проигрывать вложения без ссылок и выгрузки на диск...
31 окт 18, 21:23    [21720875]     Ответить | Цитировать Сообщить модератору
 Re: Поле "вложение" путь к файлу  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 553
можно здесь поковыряться: процедура с флагами
+
Private Declare Function sPlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszSoundName As String, ByVal hmod As Long, ByVal uFlags As Long) As Long
Private Const SND_ALIAS = &H10000 ' name is a WIN.INI [sounds] entry
Private Const SND_ALIAS_ID = &H110000 ' name is a WIN.INI [sounds] entry identifier
Private Const SND_ALIAS_START = 0 ' must be greather Then 4096 to keep strings in same section of resource file
Private Const SND_APPLICATION = &H80 ' look For application specific association
Private Const SND_ASYNC = &H1 ' play asynchronously
Private Const SND_FILENAME = &H20000 ' name is a file name
Private Const SND_LOOP = &H8 ' loop the sound Until Next sndPlaySound
Private Const SND_MEMORY = &H4 ' lpszSoundName points to a memory file
Private Const SND_NODEFAULT = &H2 ' silence Not default, If sound Not found
Private Const SND_NOSTOP = &H10 ' don't stop any currently playing sound
Private Const SND_NOWAIT = &H2000 ' don't wait If the driver is busy
Private Const SND_PURGE = &H40    ' purge non-static events For task
Private Const SND_RESERVED = &HFF000000 ' In</font> particular these flags are reserved
Private Const SND_RESOURCE = &H40004 ' name is a resource name Or atom
Private Const SND_SYNC = &H0 ' play synchronously (default)
Private Const SND_TYPE_MASK = &H170007
Private Const SND_VALID = &H1F ' valid flags / ;Internal /
Private Const SND_VALIDFLAGS = &H17201F ' Set of valid flag bits. Anything outside

используется проигрыванием с диска, но есть и другие там флаги, пример использования
Prov = sPlaySound(mus1path, 0&, SND_ASYNC Or SND_FILENAME)
31 окт 18, 21:38    [21720887]     Ответить | Цитировать Сообщить модератору
 Re: Поле "вложение" путь к файлу  [new]
vmag
Member

Откуда: MP
Сообщений: 3269
alecko,

Спасибо, но похоже тут ничего не выковыряешь, библиотека та же, нужен путь к файлу, а пока он вложение в БД - пути нет...
В принципе с бубном тоже нормально, если других способов (помимо winmm.dll) не найду, так оставлю...
31 окт 18, 22:57    [21720940]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить