Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
 public void Stop()
 {
     try
     {
         musicControler.Stop();
         musicStatus = MusicFlags.Stopped;
     }
     catch (Exception e)
     {
         Debug.WriteLine(e.Message.ToString());
     }
 }
Ejemplo n.º 3
0
        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;
        }