/// <summary> /// Load this music to the music controler /// </summary> /// <returns></returns> public async Task <bool> LoadExistingAsync() { if (musicControler != null) { try { //reopen music StorageFile retrievedMusicFile = await Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.GetFileAsync(this.fileAccessToken); var musicStream = await retrievedMusicFile.OpenAsync(FileAccessMode.Read); musicControler.SetSource(musicStream, retrievedMusicFile.ContentType); musicStatus = MusicFlags.Loaded; //create a thumb var bmpThumb = new BitmapImage(); bmpThumb.SetSource(await retrievedMusicFile.GetThumbnailAsync(Windows.Storage.FileProperties.ThumbnailMode.MusicView, 256, Windows.Storage.FileProperties.ThumbnailOptions.ResizeThumbnail)); this.musicThumbnail = (ImageSource)bmpThumb; Debug.WriteLine("success loading >" + this.musicName); return(true); } catch (Exception e) { Debug.WriteLine("loading active music failed >" + e.Message.ToString()); return(false); } } else { Debug.WriteLine("unable to locate music controler >"); return(false); } }
public void Stop() { try { musicControler.Stop(); musicStatus = MusicFlags.Stopped; } catch (Exception e) { Debug.WriteLine(e.Message.ToString()); } }
public Music LoadMusic(bool mem, [NotNull] string filename, int offset, int length, MusicFlags flags) { if (_disposed) throw new ObjectDisposedException("BASSEngine"); int handle = Bass.BASS_MusicLoad(filename, offset, length, (BASSFlag) flags, 0); if(handle == 0) throw new BASSException(); return new Music(handle) { Owner = this}; //IntPtr pfile = Marshal.StringToHGlobalAnsi(filename); //must be like this //IntPtr mus = _LoadMusic(Helper.Bool2Int(mem), pfile, // offset, length, (int) flags); //if (mus == IntPtr.Zero) throw new BASSException(); //var output = new Music(mus); //output.Owner = this; //return output; }