Проигрывание Mp3 файлов с помощью Vb 6

Тема в разделе "Visual Basic", создана пользователем Shtirlits, 8 янв 2008.

Статус темы:
Закрыта.
  1. Shtirlits

    Shtirlits Гость

    В поисках этого вопроса мне надоело рыскать по инету, везде пишут, что ето уже "избитый" вопрос, но кроме проигрывания WAV и AVI, при помощи VB (6) ,я ни чего не нашел, кроме тех примеров (и сотни подолбных), ссылки на которые лежат ниже, но мой VB (6) выдает на них ошибку(скорей всего они для VB.NET).Если вы знаете ответ, подскажите плиз. Желательно теми средствами которые входят в VB и Windows,
    Ссылка1

    http
    ://design.gossoudarev.com/info/multime...ogr/index.html

    Ссылка2

    http://visualbasic.noka.ru/?Page=articles&id=playavi#a

    (те же самые AVI И WAV и то с ошибкой) все остальное примерно в том же духе (((
    Заранее благодарен за любую помощь в ентом вопросе !!!
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Юзайте гугль...


    ВОТ - первая же ссылка ведёт на ответ

     
  3. Shtirlits

    Shtirlits Гость

    ты, конечно прости, Иван, но я ,буду ругаться и матом кричать !!!
    - этьо означает, что ты сам не знаешь, не пробовал!!!зачем тогда советы давать???Где пример (причем тобой опробованный!!!!)
    да затем, что я хочу научиться писать СВОИ программы и научиться программировать !!!
    Дополнение к заданному выше вопросу!!!!
    Эту ссылку мы уже проходили, и она полная херь!MSDN тоже юзали !
    Нужен пример иль какая дока для Visual Basic 6!!! а не .NET или С++ или С# VBA
    Неужели в обычную HTML - страницу WMPlayer легче вставить ?! )))
    В общем Ваня ДВОЙКА тебе за ответ )))
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-Shtirlits+9:01:2008, 10:33 -->
    <span class="vbquote">(Shtirlits @ 9:01:2008, 10:33 )</span><!--QuoteEBegin-->ты, конечно прости, Иван, но я ,буду ругаться и матом кричать !!!
    [snapback]92640" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    а по сопатке, могу налупить ещё предупреждений за мат

    <!--QuoteBegin-Shtirlits+9:01:2008, 10:33 -->
    <span class="vbquote">(Shtirlits @ 9:01:2008, 10:33 )</span><!--QuoteEBegin-->Где пример (причем тобой опробованный!!!!)
    [snapback]92640" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    ни кто тут пример опробованный не обязан давать

    <!--QuoteBegin-Shtirlits+8:01:2008, 16:46 -->
    <span class="vbquote">(Shtirlits @ 8:01:2008, 16:46 )</span><!--QuoteEBegin-->[snapback]92559" rel="nofollow" target="_blank[/snapback]</div>[/quote]
    Самый лучший способ - другие, насколько я понимаю ( БЕЗ API ) , бyдут просто извратом.
    В этом примере расписано и разжовано всё что надо.

    <!--QuoteBegin-Shtirlits+8:01:2008, 16:46 -->
    <span class="vbquote">(Shtirlits @ 8:01:2008, 16:46 )</span><!--QuoteEBegin-->В общем Ваня ДВОЙКА тебе за ответ )))
    [snapback]92640" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    каков вапрос - такой и ответ
     
  5. Shtirlits

    Shtirlits Гость

    Мдааа, я уже трое суток ищу по инету рабочий пример,прерываясь изредка на писчу и сон , ну да ладна....
    Тот пример во-первых для .NET, во-вторых он выдает мне ошибку, в третьих ,я юзал енту ссылку до тебя, спасиб конечно за труды, конечно никто мне ничем не обязан, но зачем тогда форумы нужны ???Слазил по ссылке еще раз, может чего пропустил, вроде нет - опять таже самая ошибка, типа неопределена функция или класс ((( Наверна придется искать простенький пример с API
    НО я не могу поверить ,чтобы микрософтовские гении пропустили такое расширение файла , как mp3, в среде разработки VisualBasic6? Да даже рабочего примера простым wave мне не найти уже. Кстати ,в MSDN встретилась такая фраза (но опять для .NET) создайте ссылку на пространство имен System (ето как, их же там видимо не видимо ) ниже код, так на сяк случай родимого MSDN, для wave тока (((
    Пример:
    Код (Text):
     
    Public Class SoundClass
    Declare Auto Function PlaySound Lib "winmm.dll" (ByVal name _
    As String, ByVal hmod As Integer, ByVal flags As Integer) As Integer
    ' name specifies the sound file when the SND_FILENAME flag is set.
    ' hmod specifies an executable file handle.
    ' hmod must be Nothing if the SND_RESOURCE flag is not set.
    ' flags specifies which flags are set.

    ' The PlaySound documentation lists all valid flags.
    Public Const SND_SYNC = &H0      ' play synchronously
    Public Const SND_ASYNC = &H1         ' play asynchronously
    Public Const SND_FILENAME = &H20000 ' name is file name
    Public Const SND_RESOURCE = &H40004 ' name is resource name or atom

    Public Sub PlaySoundFile(ByVal filename As String)
    ' Plays a sound from filename.
    PlaySound(filename, Nothing, SND_FILENAME Or SND_ASYNC)
    End Sub
    End Class

    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
    Dim SoundInst As New SoundClass()
    SoundInst.PlaySoundFile("C:\ringout.wav")
    End Sub
    Компиляция кода
    Для этого примера требуется:
    Ссылка на пространство имен System.
    Элемент управления Button с именем Button1.
    Устойчивое программирование
    PlaySound возвращает true при успешном выполнении, и false — при сбое.
    Если заданный файл не существует, PlaySound воспроизводит стандартный системный звук и не возвращает ошибку.
    Имя файла должно указывать на звуковой файл на вашем компьютере
    P.S.:Не обижайся :blink: я, конечно, дуб в программировании, может плохо ищу, но неужели так мало людей задавалось подобными вопросами, или менять среду разработки или завязывать с программированием :D :D
     
  6. Shtirlits

    Shtirlits Гость

    Все , что выше и везде раскиданы примеры по инету - полная лажа, везде примеры для проигрывания wave идут неправильные, то есть с ошибками, ибо лентяи которые держать сайты, не проверяя код в примерах просто копируют (и особо шибко умные советчики делают также)))
    Вывод из всего этого =:
    Проигрывание mp3 файла с помощью Visual Basic 6 и его инструментов ВОЗМОЖЕН!!! ,Я сделал это!!! )))
    За последние сутки, ни евши, не спавши, только прерываясь на самое необходимое (секс и иногда интернет ))) я исправил ошибки кое в каких примерах, и сделал рабочий пример, доведу до читабельного состояния, и если кому понадобиться, выложу деся, а если у кого есть рабочий пример с winmm.dll для проигрывания mp3,выложите плиз
    ГЫ&ЗЫ:
    При помощи API тоже можно проиграть MP3 ))) но я етим пока не занималса ))
     
  7. Shtirlits

    Shtirlits Гость

    Пасибо !!! Огромныя вам ПАСИБО!!! :D
    Отличный пример, и самое главное работающий !!!!
    Для: sax_ol
    попробуем исправится, хотя вряд ли получится )))
     
  8. Shtirlits

    Shtirlits Гость

    Я должен сообщить пренеприятнейшее известие - я неуч !!! Чтобы понять почему MMControl не хочет проигрывать мои MP3 пришлось перелопать половину MSDN и других забугорных сайтов, а с моими познаниями в агнглийском это далось нелегко.В общем,вот что пишут в MSDN (вольный перевод :))):
    MMControl поддерживает такие форматы файлов, как : MPEG(Layer1,2 вроде ),AVI and WAV .Ну и что сие означает, спросите вы, -типа мы ето знаем, а то, что MP3 принадлежит формату MPEG знаете?Вывод: проигрывание MP3 с помощью MMControl возможен! код ниже. НО, есть замечание, при первых разах когда я пробовал проиграть MP3, я забыл, что половина моих песен - это MP3 PRO !!! То есть еще более сжатых, и немного отличающиеся от обычного MP3 ,и поэтому старый добрый контрол их может не взять (( Ну и он глючный, а так работает.
    Кидаем на форму MMControl1, кликаем правой кнопкой по контролу и для кнопок PLAY,PAUSE ставим галочки (Vizible,Enable) в свойствах FileName выбираете путь до файла.Все, вы гении -написали свой плеер!! :)
    Код (Text):
    Private Sub Form_Load()
    MMControl1.Command = "Open"
    MMControl1.Command = "Play"
    End Sub
    Попозже выложу код для компонента WindowsMediaPlayer на сяк случай :)
     
  9. Shtirlits

    Shtirlits Гость

    Лана,ок, вот код для компонента WindowsMediaPlayer (wmp.dl/winmm.dll)
    Добвили компонент WindowsMediaPlayer на форму, на закладке "свойства компонента" выбрали "Custom" => закладка общие => пункт "Источник или имя файла" - путь до вашего файла или плэйлиста , жмем ОК, зате RUN.Усе, плеер готов :) Спросите где код - он не нужен, но если вы хотите управлять программно этим плеером (нажимая свои кнопочки -Command1,2 т.д.), то вот вам некоторые свойства и функции этого компонента , которые находил методом проб и ошибок, да Object Browser (F2)), если вы знаете другие какие свойства, выложите,плиз , здеся.
    Один из способов проиграть файл:
    Код (Text):
    Private Sub Command1_Click()
    WindowsMediaPlayer1.URL = "C\MyFavorit.mp3" 'Путь до вашего Mp3 или плэйлиста
    End Sub
    Добавьте на форму TextBox1 и кнопку Command1 для вывода информации
    Прежде чем использовать это запустите ваш плэйлист, если он не запущен, то в некоторых прцедурах будут возникать ошибки, так как файла допустим еще нет, а вы уже хотите знать его имя, и его длительность,поэтому при написании своей проги добавьте обрабоку ошибок
    Выводит адрес проигрываемого файла
    Код (Text):
    Private Sub Command1_Click()
    Text1.Text = WindowsMediaPlayer1.currentMedia.sourceURL
    End Sub
    Выводит имя проигрываемого плэйлиста
    Код (Text):
    Private Sub Command1_Click()
    Text1.Text = WindowsMediaPlayer1.currentPlaylist.Name
    End Sub
    Выводит исполнителя проигрываемого файла
    Код (Text):
    Private Sub Command1_Click()
    Text1.Text = WindowsMediaPlayer1.currentMedia.Name
    End Sub
    Далее свойства идут просто списком, примеры использования вы видели выше
    Код (Text):
    WindowsMediaPlayer1.currentMedia.duration 'продолжительность файла в секундах
    WindowsMediaPlayer1.currentMedia.durationString 'продолжительность файла в минутах
    WindowsMediaPlayer1.currentPlaylist.Count 'количество песен/дорожек в плэйлисте
    WindowsMediaPlayer1.Status ' у меня показывает скорость проигрывания ))
    WindowsMediaPlayer1.Controls.Next 'следующая дорожка
    WindowsMediaPlayer1.Controls.previous 'предыдущая дорожка
    WindowsMediaPlayer1.Controls.currentPositionString 'показывет сколько времени уже проиграл файл
    WindowsMediaPlayer1.settings.volume 'показывет какая сейчас громкость
    WindowsMediaPlayer1.settings.volume = WindowsMediaPlayer1.settings.volume + 10 'пример увеличения громкости на десяточку
    WindowsMediaPlayer1.settings.volume = mute 'выключить громкость
    WindowsMediaPlayer1.settings.volume = 0 'выключить громкость, 2ой способ ))
    Если узнаете способ сделать повтор и перемешивание, как и в обычном Windows Player,пишите.
    Есть еще способ проиграть файл с помощью DirectX, что вроде перекликается с API ? пока не знаю :D
     
  10. Shtirlits

    Shtirlits Гость

    Для: Morpheus
    Прошу у вас прощеньица,Вы в самом начале были правы, но у меня действительно примеры с других сайтов не работают, пока не взялся писать сам, не пойму в чем дело до сих пор.
    оказался действительно самым простым и эфективным, просто вначале меня пугали такие слова как dll, ocx и т.п. так как я ничего в них не смыслю, и до сих пор не знаю где брать информацию о встроенных свойствах и функциях компонента. Object Browser их показывает, но не говорит нам о том ,какая функция, что делает и какое свойство за что отвечает, так, что будьте милосердны, не сердитеся на меня, а ? :)
     
  11. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-Shtirlits+17:01:2008, 13:23 -->
    <span class="vbquote">(Shtirlits @ 17:01:2008, 13:23 )</span><!--QuoteEBegin-->примеры с других сайтов не работают, пока не взялся писать сам
    [snapback]93934" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    вот это самое лучшее когда человек начинает понимать что он делает... главное не бояться и начать делать самому :D
    я не обижаюсь :)
     
  12. Shtirlits

    Shtirlits Гость

    ПАСИБО !!! :)
     
  13. WeBsteR

    WeBsteR Гость

    моно и так, но с использованием апи:
    Код (Text):
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As Long, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
    Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
    Dim Temp2 As Long
    Dim Temp1 As String
    Dim aFile As String
    Private Function GetShortName(ByVal fFileName As String) As String
    Dim bufTxt As String * 261
    Dim RetLen As Long
    RetLen = GetShortPathName(fFileName, bufTxt, 260)
    GetShortName = Left$(bufTxt, RetLen)
    End Function

    Private Sub Form_Load()
    aFile = "D:\Music\Test.mp3" 'путь к mp3 файлу
    aFile = GetShortName(aFile)
    Temp1 = "play " & aFile
    Temp2 = mciSendString(Temp1, 0, 0, 0)
    End Sub
     
  14. Shtirlits

    Shtirlits Гость

    угу, ок, пасиб :) , но на примерчик с использованием команды mciSendString, уже давала выше sax_ol , но вдруг та ссылка станет нерабочей, так что лишний примерчик здесь, я думаю, не помешает, ну раз пошла такая кухня, выкладываю еще примерчик с применением API, с использованием функции mciExecute(не за бываем про короткие пути в имени файла и пробелы !!!) для полноты картины:
    Код (Text):
    'Функция для проигрывания файлов в формате *.mp3
    Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long

    Private Sub Command1_Click()
    Call mciExecute("play C:\moi.mp3") 'чтобы воспроизвести файл
    End Sub

    Private Sub Command2_Click()
    Call mciExecute("close C:\moi.mp3") 'чтобы закрыть файл
    End Sub
    Есть еще функции sndPlaySound и PlaySound для проигрывания wav ,вызываются и объявляются аналогично mciExecute и mciSendString
    Ну, кто еще какие нибудь способы знает, как проиграть MP3 в VB(6) ?Да, а как вызвать Windows Media Player и через него проиграть ?( что то связано с shell()).И еще говорят, есть способ проигрывания через DirectX (DirectSound,DirectMusic и т.д.) или рассмотренные примеры выше это оно и есть ?
     
  15. WeBsteR

    WeBsteR Гость

    Ну есть ещё такая библиотека функций как fmod. Очень во многих играх используется, можно проигрывать аудио, создавать 3d звук, создавать stream, добавлять различные эффекты, например реверберацию, записывать звук, проигрывать CD, работать с сэмплами, анализировать спектр и многое другое. Скачать можно на официальном сайте: http://www.fmod.org тамже есть хелп, правда на английском
     
  16. Shtirlits

    Shtirlits Гость

    Для: sax_ol
    Вы простите новичка , но где это "ТАМ" - в лесу ?Если вы имеете в виду MSDN,то еслиб я был с английском на "ты", и хотел провести остаток своей жизни изучением сего трактата, то я бы не задавал здесь эти вопросы
    Для: WeBsteR
    Но ет уже идут совсем сторонние библиотеки, не так ли?
     
  17. WeBsteR

    WeBsteR Гость

    Да, конешно сторонние, зато функций много :)
     
  18. Shtirlits

    Shtirlits Гость

    Для: WeBsteR
    Ты уже с ней работал?И она рази не платная? И потом просто не хочется здесь разводить обсуждение про использование сторонних библиотек, а только касательно VB, но раз затронули API, то можно и его, тогда главный вопрос бы изменить :) , просто стороних компонентов много, и для этого, я думаю, можно попозже новую тему для обсуждения открыть, также как и запись mp3, с помощью VB и API
     
  19. Shtirlits

    Shtirlits Гость

    Для: sax_ol
    Согласен:жить вредно, от этого умираешь :) У меня сложилось впечатление, почему то, что ты/вы (как вам/тебе удобнее :) ) девушка,так как девушки очень любят не отвечать на вопросы, а куда то в сторону уходить:
    и такой нескромный вопрос - ты програмист или чем другим маешься ?
     
  20. Shtirlits

    Shtirlits Гость

    Блин, пятый раз пишу это сообщение, уже начал понимать, даже, что я пишу (свет обрубали :) )
    Отправлять гуглить или яндексить, где нуждающися человек уже был , я считаю неккоректным и неправильным, так как человек отправляется на форум надеется получить реальную помощь от людей, у которых есть больший опыт по данному вопросу.насчет моего вопроса
    мне интересно, человек который отвечает, что то смыслит в этом вопросе или он от скуки развлекается.Ваша первая ссылочка была просто отличной, и теперь я в растерянности, думал вот, знающий и понимающий человек.А если всех отправлять в гугл, тогда зачем форум нужен? Повесить при входе пяток форм - запросов к поисковикам и делу конец, только тогда ж кому предупреждения ставить будете ? :)
     
Загрузка...
Похожие Темы - Проигрывание Mp3 файлов
  1. alexas
    Ответов:
    2
    Просмотров:
    1.167
  2. lazybiz
    Ответов:
    7
    Просмотров:
    3.917
Статус темы:
Закрыта.

Поделиться этой страницей