Сейчас на форуме: bartolomeo, hgdagon (+7 невидимых) |
eXeL@B —› Программирование —› Помогите проекту. |
Посл.ответ | Сообщение |
|
Создано: 12 февраля 2006 21:30 · Личное сообщение · #1 Дорогие знатоки, помогите, никогда не работал с АПИ в программинге, и теперь думаю, что пришло время. Вот хочу научиться делать фоновую музыку в проекте. Использую АПИ ф-цию PlaySound. Делаю так: В модуль Фтыкаю: Option Explicit Declare Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" (ByVal lpszSoundName As String, ByVal hmod As Long, ByVal uFlags As Long) As Long Public Const SND_ALIAS = &H10000 Public Const SND_ALIAS_ID = &H110000 Public Const SND_ALIAS_START = 0 Public Const SND_APPLICATION = &H80 Public Const SND_ASYNC = &H1 Public Const SND_FILENAME = &H20000 Public Const SND_LOOP = &H8 Public Const SND_MEMORY = &H4 Public Const SND_NODEFAULT = &H2 Public Const SND_NOSTOP = &H10 Public Const SND_NOWAIT = &H2000 Public Const SND_PURGE = &H40 Public Const SND_RESERVED = &HFF000000 Public Const SND_RESOURCE = &H40004 Public Const SND_SYNC = &H0 Public Const SND_TYPE_MASK = &H170007 Public Const SND_VALID = &H1F Public Const SND_VALIDFLAGS = &H17201F И затем вызываю ф-цию при хотя бы при загрузке формы: Private Sub Form_Load() Call PlaySound("Путь к файлу", 0&, SND_ASYNC Or SND_FILENAME) End Sub И при загрузке формы, она просто отказывается работать (ничего не происходит). Писал на VB 6. Подскажите пожалуйста, что я не так делаю? |
|
Создано: 12 февраля 2006 22:14 · Личное сообщение · #2 |
|
Создано: 12 февраля 2006 22:23 · Личное сообщение · #3 IvanStepkin пишет: Так что только wav, только wav. Слушай, а что мне сделать, что бы мп3-шники и мидяшки проигрывать? Может ещё есть какая-то ф-ция? Или может ещё что? Ведь, ты сам понимаешь, сколько весят вавы, и в прогу их толком не воткнёшь... Потому, что тогда одни ресурсы будут весить больше самой проги (крякми, кейгена etc.). Вроде всё должно быть как положено. Помоги, давно парился над этой ф-цией, но... подскажи что-нибудь ещё плз. |
|
Создано: 12 февраля 2006 23:00 · Личное сообщение · #4 |
|
Создано: 12 февраля 2006 23:01 · Поправил: intty · Личное сообщение · #5 вавы круто жмутся раром. сожми их в рар и инклудь ресурсом в файл. потом будешь распаковывать в темп и проигрывать. ну или попробуй - "uFMOD by Quantum & Asterix" "Библиотека uFMOD распространяется с открытым исходным кодом и примерами для MASM32, FASM, Visual C++ и Visual Basic 6." хорошо начинаешь. удачи проэкту.. [added] 6aHguT опередил ) |
|
Создано: 13 февраля 2006 02:36 · Личное сообщение · #6 6aHguT пишет: Качай uFMOD 1.08 там и примерчики использования есть Будут тебе и мидяшки и it и mod . А для мп3 там код посложнее будет. intty пишет: ну или попробуй - "uFMOD by Quantum & Asterix" Ребят, поймите, я же не профи, я только буквально 2 дня апи учу, я ещё толком ничё не знаю... Вся проблема состоит в том, что я реально ньюб, и подобные тексты меня просто ошарашивают... Мне надо именно конкретный код по мп3 и миди. У меня есть проекты, в которых вышеперечисленное делается ВСЁ но только там по-любому больше пол-проекта левого текста... Я никак не могу разобраться что к чему.. Просто объясните, с помощью чего проигрываются мп3 и миди и ФСЁ для меня пока что апи это густой лес =) Так что, помилуйте моё время и умственную массу... Если захотите взглянуть на те проекты, напишите, я выложу их в следующем сообщении. Начать это всегда мона, но я не думаю, что начинать надо с разгребания босявого кода, где куча непонятных для меня комманд =)) |
|
Создано: 13 февраля 2006 13:04 · Личное сообщение · #7 проигрывание миди на дельфи SeQuick напиши мне на мыло я тебе подробно напишу как играть мод denisdi2собакаhotmail.ru тока я тебе для дельфи могу и асма написать.Си не люблю. uses MMSystem;подключаем необходимое // Play Midi procedure TForm1.Button1Click; const FileName = 'C:\YourFile.mid';//путь до миди begin MCISendString(PChar('play ' + FileName), nil, 0, 0); end; // Stop Midi procedure TForm1.Button1Click; const FileName = 'C:\YourFile.mid'; begin MCISendString(PChar('stop ' + FileName), nil, 0, 0); end; ----- M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240 |
|
Создано: 13 февраля 2006 13:08 · Личное сообщение · #8 Хотя вот на СИ попробовал char szBuf[MAX_PATH]; mciSendString((LPSTR)"open C:\\1.mid type sequencer alias snd wait", (LPSTR)szBuf, 256, NULL); mciSendString((LPSTR)"play snd wait", (LPSTR)szBuf, 256, NULL); mciSendString((LPSTR)"close snd", (LPSTR)szBuf, 256, NULL); А все таки пиши на мыло я люблю новичкам подробно обьяснять,даже видео тутор сделаю если хочешь. ----- M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240 |
|
Создано: 14 февраля 2006 16:46 · Личное сообщение · #9 |
|
Создано: 14 февраля 2006 18:40 · Личное сообщение · #10 Option Explicit 'Это объявление нужных флагов Private Enum PartialPlaySoundFlags SND_SYNC = 0 SND_FILENAME = 131072 End Enum 'Экспортируем функцию PlaySound из winmm.lib Private Declare Function PlaySound Lib "winmm.dll" ( _ ByVal wavName As String, ByVal hModule As Long, _ ByVal flags As Long) As Boolean Private Sub Form_Click() Dim i As Integer For i = 1 To 5 PlaySound "c:/temp/1.wav", 0, SND_SYNC Or SND_FILENAME DoEvents Next i End Sub ----- M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240 |
|
Создано: 14 февраля 2006 19:40 · Личное сообщение · #11 di-2 пишет: Option Explicit 'Это объявление нужных флагов Private Enum PartialPlaySoundFlags SND_SYNC = 0 SND_FILENAME = 131072 End Enum 'Экспортируем функцию PlaySound из winmm.lib Private Declare Function PlaySound Lib "winmm.dll" ( _ ByVal wavName As String, ByVal hModule As Long, _ ByVal flags As Long) As Boolean Private Sub Form_Click() Dim i As Integer For i = 1 To 5 PlaySound "c:/temp/1.wav", 0, SND_SYNC Or SND_FILENAME DoEvents Next i End Sub Ну я же просил, МИДИ, а ты пишешь ВАВ. ВАВЫ я-то могу проигрывать (смотри первое сообщение этого топа). а вот скажи ЧТО_нить про миди. |
|
Создано: 14 февраля 2006 22:34 · Личное сообщение · #12 Dim MC As IMediaControl Private Sub Form_Load() SNDLoadFile "wav'ы midi и mp3'шки" End Sub Sub SNDLoadFile(ByVal strFileName As String) Set MC = New FilgraphManager MC.RenderFile strFileName MC.Run 'MC.Stop - ясно наверное, что это делает End Sub PS: подключи к проекту ActiveMovie control type library с помощью Project -> References... и наслаждайся музыкой в проекте |
|
Создано: 15 февраля 2006 12:23 · Личное сообщение · #13 SeQuick, это что, VB? Если вызывать PlaySound с такими параметрами, то будет играть прямо из памяти без распаковки на диск (пишу попроще и подробнее):
[offtop] Юзаю Оперу 7.5... почему-то кнопочки смайликов перестали работать ( Из скриптов работает только вставка цитат[/offtop] Вообще, MciSendString лучше, но имхо рано пока ещё.. 2 дня-то всего.. Читайте MSDN и SDK ----- Я медленно снимаю с неё UPX... *FF_User* |
|
Создано: 19 февраля 2006 09:30 · Личное сообщение · #14 |
|
Создано: 19 февраля 2006 19:39 · Личное сообщение · #15 IvanStepkin пишет: Ну, где автор то? Уже пять дней жду, что скажет насчёт моего предложения кода!!! Да блин... Автор-то тут, но я никак не могу разобраться, что за контрол! Я с таким никогда не имел дело... Фигня в том, что во-первых, у меня визуалка русская, и я что-то не могу найти этот контрол... В принципе все контроллы на англиЦком, но такого я что-то не нашёл! Поскажи что в твоих силах, как можно ближе, где найти такой? =) |
|
Создано: 20 февраля 2006 13:35 · Личное сообщение · #16 Прикрепляю пару скриншотов, должно помочь разобраться. Эта библиотека DirectShow от DirectX, если есть DX, то и она должна быть. Проверь начилие файла контрола. 93bd_VB_1.rar.zip |
|
Создано: 20 февраля 2006 18:59 · Личное сообщение · #17 У тебя наверное 5-я визуалка... а у меня 6-я.... В аттаче смотри, что у меня в компонентах... 7f52_%D1%EA%F0%E8%ED.rar.zip |
|
Создано: 20 февраля 2006 20:51 · Личное сообщение · #18 |
|
Создано: 21 февраля 2006 03:57 · Личное сообщение · #19 |
|
Создано: 21 февраля 2006 03:57 · Личное сообщение · #20 |
|
Создано: 21 февраля 2006 21:23 · Личное сообщение · #21 |
|
Создано: 21 февраля 2006 22:13 · Личное сообщение · #22 |
|
Создано: 01 марта 2006 00:10 · Личное сообщение · #23 |
|
Создано: 23 марта 2006 22:51 · Личное сообщение · #24 А тут у меня родился вопросик! А реально проиграть музыку не вытаскивая её из ресурсов! Над этой темой я дофига парился и решил забить на всё это дело Мож кто-нибудь из вас знает как это осуществить Заранее ОЧЕНЬ благодарен! ЗЫ: Давно на этот раздел форума не вылазил, поэтому такая задержка... ----- Research For Food |
|
Создано: 24 марта 2006 03:37 · Личное сообщение · #25 daFix пишет: А тут у меня родился вопросик! А реально проиграть музыку не вытаскивая её из ресурсов! Над этой темой я дофига парился и решил забить на всё это дело Мож кто-нибудь из вас знает как это осуществить Заранее ОЧЕНЬ благодарен! На данном этапе развития программирования данное действие не представаляется возможным! Как ты себе это представляешь? |
|
Создано: 09 апреля 2006 18:48 · Личное сообщение · #26 |
|
Создано: 09 апреля 2006 19:27 · Личное сообщение · #27 daFix пишет: А тут у меня родился вопросик! А реально проиграть музыку не вытаскивая её из ресурсов! Над этой темой я дофига парился и решил забить на всё это дело Мож кто-нибудь из вас знает как это осуществить реально и ещё как реально! для этого и написали uFMOD, правдя только для ХМ формата! но сдругой стороны я не вижу смысла запихивать в ресурсы вавы и мп3-шки... имхо это не красиво |
|
Создано: 09 апреля 2006 20:28 · Поправил: Dark_Phoenix · Личное сообщение · #28 |
|
Создано: 09 апреля 2006 20:50 · Личное сообщение · #29 Dark_Phoenix пишет: не знаю есть ли это добро под бэйсик. в FMOD точно есть даже пример для бейсика (fmod.org) для васика тож есть примеры, нуно просто скачать архифф с офф. сайта... там между прочим и для дельфина примеры имеюцца... к томуж он компактен и прикомпиливается прямо к проекту без лишних длл-лок... качать сдесь: ufmod.sourceforge.net/ |
eXeL@B —› Программирование —› Помогите проекту. |