Master_Zolan1. Возьмём к примеру Bass, даже на базе самого первого примера ("%USERPROFILE%\Application
Data\BASS.NET\Samples\VB\VB_MyFirstBass") можно прикинуть следующий мультипотоковый проигрыватель
- Код: Выделить всё
'Bass.Net.dll версии 2.4.5.0 не совместим с .NET1.X
'Для компиляции исходника в консоли набрать %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\vbc BassStreemSample.vb /r:bass.net.dll
'или %SystemRoot%\Microsoft.NET\Framework\v3.5\vbc BassStreemSample.vb /r:bass.net.dll
Imports System
Imports Un4seen.Bass
Class Bass1
Shared Sub Main(ByVal CmdArgs() As String)
If CmdArgs.Length < 1 Then
Console.WriteLine(Command$() & " bad using")
Return
End If
' init BASS using the default output device
If Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero) Then
Dim i As Integer = 0
For Each st As String In CmdArgs
i += 1
Next
Dim streams(i - 1) As Integer
For i = 0 To streams.Length - 1
streams(i) = Bass.BASS_StreamCreateFile(CmdArgs(i), 0, 0, BASSFlag.BASS_DEFAULT)
If streams(i) <> 0 Then
' play the stream channel
Bass.BASS_ChannelPlay(streams(i), False)
Else
' error creating the stream
Console.WriteLine("Stream error: {0}", Bass.BASS_ErrorGetCode())
End If
System.Threading.Thread.Sleep(500)
Next
' wait for a key
Console.WriteLine("Press any key to exit")
Console.ReadKey(False)
For i = 0 To streams.Length - 1
' free the stream
Bass.BASS_StreamFree(streams(i))
Next
' free BASS
Bass.BASS_Free()
End If
End Sub
End Class
Использовать так:
BassStreemSample.exe 1.mp3 2.mp3 3.mp3 и т.д. сколько нужно потоков, пауза между стартами потоков установлена в 500 миллисекунд.
В коде не предусмотрена проверка на существования mp3 файлов
Bass.Net.dll понадобится не только для компиляции, но и для запуска, а bass.dll нужен только для запуска.
Более серьёзный пример, демонстрирующий возможности аудио библиотеке здесь "%USERPROFILE%\Application Data\BASS.NET\Samples\VB\StreamTest"
P.S. Все пути на примеры действительны после установки Bass.Net
2.В студии есть возможность организовать инсталлятор, где помимо прочего можно указать включить установщик соответствующего Фреймворка, причём, если не ошибаюсь, установщик может быть полноценным так и веб. Перед запуском программы установка Фреймворка обязательна. Начиная с версии .NET 3.5 SP1 появились так называемые клиентские профили, которая и призвана качать по необходимости недостающие библиотеки, однако не доводилось пока воспользоваться данной технологией.