protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); title_database = new TitleDatabase (this); player = new Player(title_database, this); }
public CorePlayer(Player player) { this.player = player; // "* n" part is adjusted for device. audio = new AudioTrack (Android.Media.Stream.Music, 44100 / CompressionRate * 2, ChannelConfiguration.Stereo, Android.Media.Encoding.Pcm16bit, buf_size * 4, AudioTrackMode.Stream); // FIXME: when I set to "bufsize / 2 / CompressionRate" with CompressionRate = 2, AudioTrack.Write() blocks for some songs... buffer = new byte [buf_size / 4 / CompressionRate]; player_thread = new Thread (() => DoRun ()); }
public PlayerView(Player player, TitleDatabase database, MainActivity activity) { this.player = player; this.database = database; this.activity = activity; this.load_button = activity.FindViewById<Button>(Resource.Id.SelectButton); this.play_button = activity.FindViewById<Button>(Resource.Id.PlayButton); this.stop_button = activity.FindViewById<Button>(Resource.Id.StopButton); this.rescan_button = activity.FindViewById<Button>(Resource.Id.RescanButton); this.seekbar = activity.FindViewById<SeekBar>(Resource.Id.SongSeekbar); this.title_text_view = activity.FindViewById<TextView>(Resource.Id.SongTitleTextView); this.timeline_text_view = activity.FindViewById<TextView>(Resource.Id.TimelineTextView); PlayerEnabled = false; var ifs = IsolatedStorageFile.GetUserStoreForApplication (); if (!ifs.FileExists ("songdirs.txt")) load_button.Enabled = false; load_button.Click += delegate { var db = new AlertDialog.Builder (activity); db.SetTitle ("Select Music Folder"); List<string> dirlist = new List<string> (); if (ifs.FileExists ("history.txt")) dirlist.Add (from_history_tag); using (var sr = new StreamReader (ifs.OpenFile ("songdirs.txt", FileMode.Open))) foreach (var s in sr.ReadToEnd ().Split ('\n')) if (!String.IsNullOrEmpty (s)) dirlist.Add (s); var dirs = dirlist.ToArray (); db.SetItems (dirs, delegate (object o, DialogClickEventArgs e) { string dir = dirs [(int) e.Which]; ProcessFileSelectionDialog (dir, delegate (string mus) { player.SelectFile (mus); player.Play (); }); }); var dlg = db.Show (); }; play_button.Click += delegate { try { if (player.IsPlaying) { player.Pause (); } else { player.Play (); } } catch (Exception ex) { play_button.Text = ex.Message; } }; stop_button.Click += delegate { player.Stop (); }; rescan_button.Click += delegate { var db = new AlertDialog.Builder(activity); db.SetMessage ("Scan music directories. This operation takes a while."); db.SetPositiveButton ("OK", delegate { CreateSongDirectoryList (); load_button.Enabled = true; }); db.SetCancelable (true); db.SetNegativeButton ("Cancel", delegate {}); db.Show (); }; }
public HeadphoneStatusReceiver(Player player) { this.player = player; }