public BASSOutput(OutputDevice.StreamProc proc, uint freq, uint chans, string preferredDeviceName, int buflen) { var outdev = GetInitializedBassRealOutputDevice(); if (outdev == 0) { int deviceid = -1; var devices = BASS.GetDevices(); for (int i = 0; i < devices.Length; i++) { var device = devices[i]; if (device.Name == preferredDeviceName) { deviceid = i; Logger.Debug("Found preferred output device:" + device.ToString()); break; } } BASS.BASS_Init(deviceid, freq, 1500); outdev = GetInitializedBassRealOutputDevice(); } BASS.BASS_SetDevice(outdev); StreamProc = proc; Bassout = new BASS.UserSampleStream(freq, chans, (x, y) => StreamProc(x, y), (BASS.Stream.StreamFlag.BASS_STREAM_FLOAT) | BASS.Stream.StreamFlag.BASS_STREAM_AUTOFREE); Logger.Debug("Use Float Output"); }
public PlayButtonListViewModel() { BASS.BASS_Init(-1, 44100, BASSInitFlags.BASS_DEVICE_DEFAULTS, IntPtr.Zero); this.musics = new ObservableCollection <Music>(); _eventAggregator.GetEvent <MusicAddFileEvent>().Subscribe(e => AddFile(e)); MusicService musicservice = new MusicService(); var _music = musicservice.AddTestMusic(@"D:\CodeBase\音效软件\Win32\Debug\单车.mp3"); this.musics.Add(_music); _music = musicservice.AddTestMusic(@"D:\CodeBase\音效软件\Win32\Debug\苦瓜.mp3"); this.musics.Add(_music); }
/// <summary> /// アプリケーション全体の初期化 /// </summary> /// <returns>メインウィンドウ</returns> internal static System.Windows.Forms.Form Init() { System.Windows.Forms.Form componentAsMainForm = null; SetDllDirectoryW(""); // migemoのロード try { MyMigemo = new Migemo(@"dict\migemo-dict"); } catch (Exception e) { Logger.Error(e); } // ライブラリ準備 Library = MyUserDirectory.OpenLibrary(); // プレイリスト管理の開始 MyPlaylistManager = new PlaylistManager(); // コンポーネントの読み込み MyComponentManager.Add(MyCoreComponent); componentAsMainForm = MyComponentManager.BuildAllInstance(System.IO.Directory.GetFiles(MyUserDirectory.ComponentDir, "*.dll")); MyComponentManager.LoadSettings(); MyPlaylistManager.CreatePlaylist(MyCoreComponent.LatestPlaylistQuery); if (BASS.IsAvailable) { BASS.BASS_Init(0, buffer_len: 500); if (System.IO.Directory.Exists(MyUserDirectory.PluginDir)) { foreach (String dllFilename in System.IO.Directory.GetFiles(MyUserDirectory.PluginDir, "*.dll")) { bool success = BASSPlugin.Load(dllFilename, 0); Logger.Log("Loading " + dllFilename + (success ? " OK" : " Failed")); } } } Controller.Startup(); return(componentAsMainForm); }
private static void Main(string[] args) { if (BASS.BASS_Init(-1, 44100, BASSInitFlags.BASS_DEVICE_DEFAULTS, IntPtr.Zero)) { UInt32 stream = BASS.BASS_StreamCreateFile(@"D:\alarm.mp3", 0, 0, BASSFlag.BASS_DEFAULT); if (stream != 0) { Console.WriteLine("Set playback position (in seconds):"); double pos = double.Parse(Console.ReadLine()); Console.WriteLine("Set master volume levevl (0..1):"); float vlevel = float.Parse(Console.ReadLine()); BASS.BASS_SetVolume(vlevel); BASS.BASS_ChannelSetPosition(stream, BASS.BASS_ChannelSeconds2Bytes(stream, pos), BASSPosMode.BASS_POS_BYTE); BASS.BASS_ChannelPlay(stream, false); BASS_TAG tags = BASS_TAG.BASS_ChannelGetTags(stream, BASSTagFlags.BASS_TAG_ID3V2); Console.WriteLine( "Artist: {0}\nTitle: {1}\nAlbum: {2}\nTrackNo: {3}\nGenre: {4}\nYear: {5}\nComment: {6}", tags.Artist, tags.Title, tags.Album, tags.TrackNo, tags.Genre, tags.Year, tags.Comment); while (true) { TimeSpan t = TimeSpan.FromSeconds(BASS.BASS_ChannelBytes2Seconds(stream, BASS.BASS_ChannelGetPosition(stream, BASSPosMode .BASS_POS_BYTE))); Console.Write( string.Format("\rPlayback postion: {0:D2}h:{1:D2}m:{2:D2}s:{3:D3}ms; CPU usage: {4}", t.Hours, t.Minutes, t.Seconds, t.Milliseconds, BASS.BASS_GetCPU())); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(false); BASS.BASS_StreamFree(stream); } else { Console.WriteLine(BASS.BASS_ErrorGetCode()); } BASS.BASS_Free(); } }