Example #1
0
        private void PlayVideo(string fullPath)
        {
            Android.Content.Res.AssetFileDescriptor afd = null;

            try
            {
                afd = Context.Assets.OpenFd(fullPath);
            }
            catch (Java.IO.IOException ex)
            {
                Console.WriteLine("Play video: " + Element.Source + " not found because " + ex);
                _mainVideoView.Visibility = ViewStates.Gone;
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error openfd: " + ex);
                _mainVideoView.Visibility = ViewStates.Gone;
            }

            if (afd != null)
            {
                Console.WriteLine("Lenght " + afd.Length);
                VideoPlayer.Reset();
                VideoPlayer.SetDataSource(afd.FileDescriptor, afd.StartOffset, afd.Length);
                VideoPlayer.PrepareAsync();
            }
        }
Example #2
0
 private void SetMediaPlayer(string path, bool fromFile)
 {
     if (_mediaPlayer != null)
     {
         return;
     }
     _mediaPlayer           = new MediaPlayer();
     _mediaPlayer.Prepared += (sender, args) =>
     {
         _mediaPlayer.Start();
         _mediaPlayer.Completion += MediaPlayerCompletion;
     };
     _mediaPlayer.Reset();
     _mediaPlayer.SetVolume(1.0f, 1.0f);
     if (fromFile)
     {
         Android.Content.Res.AssetFileDescriptor assetFileDescriptor = GetAssetFileDescriptor(path);
         if (assetFileDescriptor == null)
         {
             return;
         }
         _mediaPlayer.SetDataSource(assetFileDescriptor.FileDescriptor, assetFileDescriptor.StartOffset, assetFileDescriptor.Length);
     }
     else
     {
         _mediaPlayer.SetDataSource(Android.App.Application.Context, Android.Net.Uri.Parse(path));
     }
 }
Example #3
0
        public void PlayBackgroundMusic(string fileName)
        {
            if (mIsBackgroundMusicOn == false)
            {
                return;
            }

            if (mPlayer_BackgroundMusic != null) // Stop and dispose of any background music
            {
                mPlayer_BackgroundMusic.Stop();
                mPlayer_BackgroundMusic.Dispose();
            }

            mPlayer_BackgroundMusic           = new Android.Media.MediaPlayer();
            mPlayer_BackgroundMusic.Prepared += (s, e) =>
            {
                mPlayer_BackgroundMusic.Start();
            };

            mPlayer_BackgroundMusic.SeekComplete += (s, e) => // 循环播放背景音乐
            {
                mPlayer_BackgroundMusic.SeekTo(0);
                mPlayer_BackgroundMusic.Start();
            };

            Android.Content.Res.AssetFileDescriptor assetFileDescriptor = Application.Context.Assets.OpenFd(fileName);
            mPlayer_BackgroundMusic.SetDataSource(assetFileDescriptor.FileDescriptor, assetFileDescriptor.StartOffset, assetFileDescriptor.Length);
            mPlayer_BackgroundMusic.SetVolume(mBackgroundMusicVolume, mBackgroundMusicVolume);
            mPlayer_BackgroundMusic.Prepare();
        }
        public void Play(string pathToAudioFIle)
        {
            // Check if _audioPlayer is currently playing
            if (_mediaPlayer != null)
            {
                if (_mediaPlayer.IsPlaying)
                {
                    _mediaPlayer.Completion -= MediaPlayer_Completion;
                    _mediaPlayer.Stop();
                }
                else
                {
                    _mediaPlayer.Start();
                    return;
                }
            }

            var fullPath = pathToAudioFIle;

            Android.Content.Res.AssetFileDescriptor afd = null;

#if true // true - play embedded audio, false - play audio from network
            try
            {
                afd = MainActivity.CONTEXT.Assets.OpenFd(fullPath);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error openfd: " + ex);
            }
#endif
            //if (afd != null)
            {
                //System.Diagnostics.Debug.WriteLine("Length " + afd.Length);
                if (_mediaPlayer == null)
                {
                    _mediaPlayer           = new MediaPlayer();
                    _mediaPlayer.Prepared += (sender, args) =>
                    {
                        _mediaPlayer.Start();
                        _mediaPlayer.Completion += MediaPlayer_Completion;
                    };
                }

                _mediaPlayer.Reset();
                _mediaPlayer.SetVolume(1.0f, 1.0f);

                if (afd != null)
                {
                    _mediaPlayer.SetDataSource(afd.FileDescriptor, afd.StartOffset, afd.Length);
                }
                else
                {
                    _mediaPlayer.SetDataSource("http://192.168.1.26:3000/Despacito%20(Remix).flac");
                }
                _mediaPlayer.Prepare();
                _mediaPlayer.Start();
            }
        }
        void play(string fullPath)
        {
            ISurfaceHolder holder = videoView.Holder;

            holder.SetType(SurfaceType.PushBuffers);
            holder.AddCallback(this);
            player = new  MediaPlayer();
            Android.Content.Res.AssetFileDescriptor afd = this.Assets.OpenFd(fullPath);
            if (afd != null)
            {
                player.SetDataSource(afd.FileDescriptor, afd.StartOffset, afd.Length);
                player.Prepare();
                player.Start();
            }
        }
Example #6
0
 public void Play(string p_FilePath)
 {
     using (MediaPlayer player = new MediaPlayer()) {
         if (p_FilePath.IndexOf("Content") > -1)
         {
             Android.Content.Res.AssetFileDescriptor af = Android.App.Application.Context.Assets.OpenFd(p_FilePath);
             player.SetDataSource(af.FileDescriptor, af.StartOffset, af.Length);
         }
         else
         {
             player.SetDataSource(Path.Combine(DataPath, p_FilePath));
         }
         player.Prepare();
         player.Start();
     }
 }
Example #7
0
 public void SetUpAudio()
 {
     try
     {
         player = new MediaPlayer();
         afd    = global::Android.App.Application.Context.Assets.OpenFd("KARTKA.mp3");
         player.SetDataSource(afd.FileDescriptor, afd.StartOffset, afd.Length);
         player.Completion += Player_SeekComplete;
         player.Info       += Player_Info;
         player.Prepare();
     }
     catch (System.Exception ex)
     {
         Console.WriteLine(ex);
     }
 }
Example #8
0
        public static Music CreateMusicFromAsset(MusicManager pMusicManager, Context pContext, String pAssetPath) /*throws IOException */
        {
            MediaPlayer mediaPlayer = new MediaPlayer();

            //AssetFileDescriptor assetFileDescritor = pContext.getAssets().openFd(MusicFactory.sAssetBasePath + pAssetPath);
            AssetFileDescriptor assetFileDescritor = pContext.Assets.OpenFd(MusicFactory.sAssetBasePath + pAssetPath);

            mediaPlayer.SetDataSource(assetFileDescritor.FileDescriptor, assetFileDescritor.StartOffset, assetFileDescritor.Length);
            mediaPlayer.Prepare();

            Music music = new Music(pMusicManager, mediaPlayer);

            pMusicManager.Add(music);

            return(music);
        }
        public void Play(string pathToAudioFIle)
        {
            // Check if _audioPlayer is currently playing
            if (_mediaPlayer != null)
            {
                _mediaPlayer.Completion -= MediaPlayer_Completion;
                _mediaPlayer.Stop();
            }

            var fullPath = pathToAudioFIle;

            Android.Content.Res.AssetFileDescriptor afd = null;

            try
            {
                afd = MainActivity.CONTEXT.Assets.OpenFd(fullPath);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error openfd: " + ex);
            }
            if (afd != null)
            {
                System.Diagnostics.Debug.WriteLine("Length " + afd.Length);
                if (_mediaPlayer == null)
                {
                    _mediaPlayer           = new MediaPlayer();
                    _mediaPlayer.Prepared += (sender, args) =>
                    {
                        _mediaPlayer.Start();
                        _mediaPlayer.Completion += MediaPlayer_Completion;
                    };
                }

                _mediaPlayer.Reset();
                _mediaPlayer.SetVolume(1.0f, 1.0f);

                _mediaPlayer.SetDataSource(afd.FileDescriptor, afd.StartOffset, afd.Length);
                _mediaPlayer.Prepare();
                _mediaPlayer.Start();
            }
        }
Example #10
0
        public void ToggleEngine()
        {
            if (_mediaPlayer != null)
            {
                _mediaPlayer.Completion -= OnMediaCompleted;
                _mediaPlayer.Stop();
                _mediaPlayer = null;
            }
            else
            {
                const string fullPath = "Sounds/engine.m4a";
                Android.Content.Res.AssetFileDescriptor afd = null;

                try
                {
                    afd = Forms.Context.Assets.OpenFd(fullPath);
                }
                catch (Exception)
                {
                    // ignored
                }

                if (afd != null)
                {
                    if (_mediaPlayer == null)
                    {
                        _mediaPlayer           = new MediaPlayer();
                        _mediaPlayer.Prepared += (sender, args) =>
                        {
                            _mediaPlayer.Start();
                            _mediaPlayer.Completion += OnMediaCompleted;
                        };
                    }

                    _mediaPlayer.Reset();
                    _mediaPlayer.SetVolume(0.1f, 0.1f);
                    _mediaPlayer.SetDataSource(afd.FileDescriptor, afd.StartOffset, afd.Length);
                    _mediaPlayer.PrepareAsync();
                }
            }
        }
        /// <summary>
        /// Plays the specified path to sound name.
        /// </summary>
        /// <param name="pathToSoundName">Name of the path to sound.</param>
        public void Play(string pathToSoundName)
        {
            if (_mediaPlayer != null)
            {
                _mediaPlayer.Completion -= MediaPlayer_Completion;
                _mediaPlayer.Stop();
            }

            var fullPath = pathToSoundName;

            Android.Content.Res.AssetFileDescriptor afd = null;

            try
            {
                afd = Forms.Context.Assets.OpenFd(fullPath);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error openfd: " + ex);
            }

            if (afd != null)
            {
                System.Diagnostics.Debug.WriteLine("Length " + afd.Length);
                if (_mediaPlayer == null)
                {
                    _mediaPlayer           = new MediaPlayer();
                    _mediaPlayer.Prepared += (sender, args) =>
                    {
                        _mediaPlayer.Start();
                        _mediaPlayer.Completion += MediaPlayer_Completion;
                    };
                }

                _mediaPlayer.Reset();
                _mediaPlayer.SetVolume(1.0f, 1.0f);

                _mediaPlayer.SetDataSource(afd.FileDescriptor, afd.StartOffset, afd.Length);
                _mediaPlayer.PrepareAsync();
            }
        }
        private track[] openFiles()
        {
            track[] trackList = new track[100];
            int     count     = 0;

            var listAssets = Assets.List("");

            foreach (var file in listAssets)
            {
                try
                {
                    Android.Content.Res.AssetFileDescriptor newFd = Assets.OpenFd(file);
                    track newTrack = new track(newFd.FileDescriptor, file, newFd.StartOffset, newFd.DeclaredLength);
                    trackList[count] = newTrack;
                    count++;
                }
                catch {}
            }

            return(trackList);
        }
Example #13
0
        /// <summary>
        /// 测试播放 Android Assets 内的音频资源
        /// </summary>
        /// <param name="fileName"></param>
        public void PlayAssetsFile(string fileName)
        {
            lock (_LOCK_)
            {
                if (mPlayer_Asset == null)
                {
                    mPlayer_Asset           = new Android.Media.MediaPlayer();
                    mPlayer_Asset.Prepared += (s, e) =>
                    {
                        mPlayer_Asset.Start();
                    };
                }
                else
                {
                    mPlayer_Asset.Reset();
                }

                Android.Content.Res.AssetFileDescriptor assetFileDescriptor = Application.Context.Assets.OpenFd(fileName);
                mPlayer_Asset.SetDataSource(assetFileDescriptor.FileDescriptor, assetFileDescriptor.StartOffset, assetFileDescriptor.Length);
                mPlayer_Asset.Prepare();
            }
        }
Example #14
0
        public void PlaySoundEffect(string fileName)
        {
            if (mIsEffectsOn == false)
            {
                return;
            }

            if (mPlayer_SoundEffect != null) // Stop and dispose of any background music
            {
                mPlayer_SoundEffect.Stop();
                mPlayer_SoundEffect.Dispose();
            }

            mPlayer_SoundEffect           = new Android.Media.MediaPlayer();
            mPlayer_SoundEffect.Prepared += (s, e) =>
            {
                mPlayer_SoundEffect.Start();
            };
            Android.Content.Res.AssetFileDescriptor assetFileDescriptor = Application.Context.Assets.OpenFd(fileName);
            mPlayer_SoundEffect.SetDataSource(assetFileDescriptor.FileDescriptor, assetFileDescriptor.StartOffset, assetFileDescriptor.Length);
            mPlayer_SoundEffect.SetVolume(mEffectsVolume, mEffectsVolume);
            mPlayer_SoundEffect.Prepare();
        }
        private void PlayVideo(string fullPath)
        {
            Android.Content.Res.AssetFileDescriptor afd = null;

            try
            {
                afd = Context.Assets.OpenFd(fullPath);
            }
            catch (Java.IO.IOException ex)
            {
                _mainVideoView.Visibility = ViewStates.Gone;
            }
            catch
            {
                _mainVideoView.Visibility = ViewStates.Gone;
            }

            if (afd != null)
            {
                VideoPlayer.Reset();
                VideoPlayer.SetDataSource(afd.FileDescriptor, afd.StartOffset, afd.Length);
                VideoPlayer.PrepareAsync();
            }
        }