public Music AddTestMusic(string path) { UInt32 stream = BASS.BASS_StreamCreateFile(path, 0, 0, BASSFlag.BASS_DEFAULT); Music music = new Music(); music.path = path; music.relativePath = (new Uri(System.Environment.CurrentDirectory)).MakeRelativeUri(new Uri(path)).ToString(); music.stream = stream; music.position = 0; music.bassTAG = BASS_TAG.BASS_ChannelGetTags(stream, BASSTagFlags.BASS_TAG_ID3V2); music.content = System.IO.Path.GetFileName(path); music.status = MusicStatus.Stopped; return(music); }
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(); } }