Esempio n. 1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_alarm);
            Window.AddFlags(WindowManagerFlags.KeepScreenOn |
                            WindowManagerFlags.DismissKeyguard |
                            WindowManagerFlags.ShowWhenLocked |
                            WindowManagerFlags.TurnScreenOn);

            Title = GetString(Resource.String.alarm_title).Replace("/NAME/", alarmTarget.DisplayName);

            var textview = FindViewById <TextView>(Resource.Id.titleTextView);

            textview.Text = Title;

            var button = FindViewById <Button>(Resource.Id.ok_button);

            button.Click += Button_Click;

            try
            {
                var builder = new AudioAttributes.Builder();
                builder.SetContentType(AudioContentType.Music);
                builder.SetUsage(AudioUsageKind.Alarm);
                alarmPlayer.SetAudioAttributes(builder.Build());
                alarmPlayer.SetDataSource(ApplicationContext, Uri.Parse(alarmTarget.NotifySoundPath));
                alarmPlayer.Looping = true;
                alarmPlayer.Prepare();
                alarmPlayer.Start();
            }
            catch
            {
            }
        }
Esempio n. 2
0
 private void PreviewAlarmAudioButton_Click(object sender, EventArgs e)
 {
     if (streamerData.NotifySoundPath == null)
     {
         Toast.MakeText(ApplicationContext, Resource.String.no_sound_on_play_notify_sound, ToastLength.Short).Show();
         return;
     }
     try
     {
         if (previewPlayer.IsPlaying)
         {
             previewPlayer.Stop();
         }
         else
         {
             previewPlayer.Reset();
             var builder = new AudioAttributes.Builder();
             builder.SetContentType(AudioContentType.Music);
             builder.SetUsage(AudioUsageKind.Alarm);
             previewPlayer.SetAudioAttributes(builder.Build());
             previewPlayer.SetDataSource(streamerData.NotifySoundPath); //SetDataSource(ApplicationContext, Uri.Parse(streamerData.NotifySoundPath));
             previewPlayer.Prepare();
             previewPlayer.Start();
         }
     }
     catch
     {
         Toast.MakeText(ApplicationContext, Resource.String.exception_on_play_notify_sound, ToastLength.Short).Show();
     }
 }
        //public void Write(byte[] bytes)
        //{
        //    /*
        //    foreach(System.IO.Stream temp in streamList)
        //    {
        //        try
        //        {
        //            temp.Write(bytes);
        //        }
        //        catch (System.IO.IOException ex)
        //        {
        //            System.Diagnostics.Debug.WriteLine("Error occurred when sending data", ex);
        //        }
        //    }
        //    *
        //    */

        //    try
        //    {
        //        mmOutStream.Write(bytes);
        //    }
        //    catch (System.IO.IOException ex)
        //    {
        //        System.Diagnostics.Debug.WriteLine("Error occurred when sending data", ex);
        //    }

        //}

        public void Write(System.IO.Stream stream)
        {
            /*
             * foreach(System.IO.Stream temp in streamList)
             * {
             *  try
             *  {
             *      temp.Write(bytes);
             *  }
             *  catch (System.IO.IOException ex)
             *  {
             *      System.Diagnostics.Debug.WriteLine("Error occurred when sending data", ex);
             *  }
             * }
             *
             */
            AudioTrack _output;

            int buffsize = AudioTrack.GetMinBufferSize(44100, ChannelOut.Stereo, Android.Media.Encoding.Pcm16bit);
            //_output = new AudioTrack(Android.Media.Stream.Music, 44100, ChannelOut.Stereo, Android.Media.Encoding.Pcm16bit,
            //buffsize, AudioTrackMode.Stream);
            var AABuilder = new AudioAttributes.Builder();

            AABuilder.SetContentType(AudioContentType.Music);
            AABuilder.SetUsage(AudioUsageKind.Media);

            var AfBuilder = new AudioFormat.Builder();

            AfBuilder.SetSampleRate(44100);
            AfBuilder.SetEncoding(Android.Media.Encoding.Pcm16bit);
            AfBuilder.SetChannelMask(ChannelOut.Stereo);


            _output = new AudioTrack(AABuilder.Build(), AfBuilder.Build(), buffsize, AudioTrackMode.Stream, AudioManager.AudioSessionIdGenerate);
            _output.Play();
            try
            {
                byte[] buffer        = new byte[1000];
                int    bytesReturned = 1;

                while (bytesReturned > 0)
                {
                    bytesReturned = stream.Read(buffer, 0, buffer.Length);
                    mmOutStream.Write(buffer);
                    _output.Write(buffer, 0, buffer.Length);
                    //DependencyService.Get<BluetoothManager>().Write(buffer);
                }
                stream.Close();
            }
            catch (System.IO.IOException ex)
            {
                System.Diagnostics.Debug.WriteLine("Error occurred when sending data", ex);
            }
        }
        public void Play()
        {
            MediaPlayer = new MediaPlayer();
            var attributesBuilder = new AudioAttributes.Builder();

            attributesBuilder.SetLegacyStreamType(Stream.Music);
            attributesBuilder.SetContentType(AudioContentType.Music);
            MediaPlayer.SetAudioAttributes(attributesBuilder.Build()); MediaPlayer.SetOnErrorListener(this);
            MediaPlayer.SetOnInfoListener(this);
            MediaPlayer.SetOnPreparedListener(this);
            MediaPlayer.SetDataSource("http://stream.intronic.nl/rgrfm_oldiesradio");
            MediaPlayer.PrepareAsync();
        }
Esempio n. 5
0
        public SimplePhraseMessenger(TextToSpeech speechEngine, string phrase, int numRepeats)
        {
            this.speechEngine = speechEngine;
            this.phrase       = phrase;
            this.numRepeats   = numRepeats;
            AudioAttributes.Builder b = new AudioAttributes.Builder();
            b.SetFlags(AudioFlags.LowLatency);
            b.SetUsage(AudioUsageKind.Alarm);
            b.SetContentType(AudioContentType.Speech);

            AudioAttributes audioAttributes = b.Build();

            speechEngine.SetAudioAttributes(audioAttributes);
        }
Esempio n. 6
0
        /// <summary>
        /// Intializes the player.
        /// </summary>
        private void InitializePlayer()
        {
            mediaPlayer = new MediaPlayer();

            //Tell our player to stream music
            //x mediaPlayer.SetAudioStreamType(Stream.Music);
            var aab = new AudioAttributes.Builder();

            aab.SetUsage(AudioUsageKind.Media);
            aab.SetContentType(AudioContentType.Music);
            mediaPlayer.SetAudioAttributes(aab.Build());

            //Wake mode will be partial to keep the CPU still running under lock screen
            mediaPlayer.SetWakeMode(this.ApplicationContext, WakeLockFlags.Partial);

            mediaPlayer.SetOnBufferingUpdateListener(this);
            mediaPlayer.SetOnCompletionListener(this);
            mediaPlayer.SetOnErrorListener(this);
            mediaPlayer.SetOnPreparedListener(this);
        }
Esempio n. 7
0
        public MainPage()
        {
            InitializeComponent();

#if __IOS__
            player = new AVPlayer();
            player = AVPlayer.FromUrl(NSUrl.FromString("http://noasrv.caster.fm:10135/live"));
            player.Play();
            VolumeSlider.Value = player.Volume;
#else
            player = new MediaPlayer();
            var audioAttributesBuilder = new AudioAttributes.Builder();
            audioAttributesBuilder.SetContentType(AudioContentType.Music);
            audioAttributesBuilder.SetLegacyStreamType(Stream.Music);
            audioAttributesBuilder.SetUsage(AudioUsageKind.Media);
            player.SetAudioAttributes(audioAttributesBuilder.Build());
            player.SetDataSource("http://noasrv.caster.fm:10135/live");
            player.Prepare();
            player.Start();
            VolumeSlider.Value = 1.0f;
#endif
        }
        public void Read()
        {
            System.Threading.Tasks.Task.Run(() =>
            {
                AudioTrack _output;

                int buffsize = AudioTrack.GetMinBufferSize(44100, ChannelOut.Stereo, Android.Media.Encoding.Pcm16bit);
                //_output = new AudioTrack(Android.Media.Stream.Music, 44100, ChannelOut.Stereo, Android.Media.Encoding.Pcm16bit,
                //buffsize, AudioTrackMode.Stream);
                var AABuilder = new AudioAttributes.Builder();

                AABuilder.SetContentType(AudioContentType.Music);
                AABuilder.SetUsage(AudioUsageKind.Media);

                var AfBuilder = new AudioFormat.Builder();
                AfBuilder.SetSampleRate(44100);
                AfBuilder.SetEncoding(Android.Media.Encoding.Pcm16bit);
                AfBuilder.SetChannelMask(ChannelOut.Stereo);


                _output = new AudioTrack(AABuilder.Build(), AfBuilder.Build(), buffsize, AudioTrackMode.Stream, AudioManager.AudioSessionIdGenerate);
                _output.Play();

                byte[] myReadBuffer = new byte[1000];
                int count           = 4;
                System.Threading.Tasks.Task.Run(() =>
                {
                    while (true)
                    {
                        try
                        {
                            int a = mmInStream.Read(myReadBuffer, 0, myReadBuffer.Length);
                            if (a > 0)
                            {
                                if (count == 0)
                                {
                                    _output.Write(myReadBuffer, 0, myReadBuffer.Length);
                                }
                                else
                                {
                                    count--;
                                }
                            }
                            else
                            {
                                var t = a;
                            }
                        }
                        catch (System.IO.IOException ex)
                        {
                            System.Diagnostics.Debug.WriteLine("Input stream was disconnected", ex);
                        }
                    }
                }).ContinueWith((t) =>
                {
                    var a = t.Exception;
                });
            }).ContinueWith((t) =>
            {
                var a = t.Exception;
            });
        }