public static void Initialize()
 {
     waveOutEvent = new WaveOutEvent();
     isTrackReady = false;
     queueTracks  = new Queue <Track>();
     RpcStreamingService.Connect();
 }
        private async void SavePersonalTrack()
        {
            PersonalTrack personalTrack = new PersonalTrack(null, SingletonSesion.GetSingletonSesion().account.idAccount, TextBox_title_personal_track.Text, TextBox_gender_personal_track.Text, TextBox_album_personal_track.Text, 100, null, false, 0);

            try
            {
                personalTrack = await PersonalTrackRepository.CreatePersonalTrack(personalTrack);

                TrackAudio trackAudio = new TrackAudio()
                {
                    IdTrack   = personalTrack.idPersonalTrack,
                    TrackName = personalTrack.title,
                    Audio     = GetTrackBytes()
                };
                var result = await RpcStreamingService.UploadPersonalTrack(trackAudio);

                if (result)
                {
                    MessageBox.Show("Track uploaded");
                    Window.GetWindow(this).Close();
                }
                else
                {
                    MessageBox.Show("Connection error", "Please try again");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        private async void TestRpc()
        {
            byte[] bytes = await RpcStreamingService.GetTrackAudio("track1");

            var          mp3Reader     = new Mp3FileReader(new MemoryStream(bytes));
            WaveStream   wave32        = new WaveChannel32(mp3Reader);
            WaveOutEvent _waveOutEvent = new WaveOutEvent();

            _waveOutEvent.Init(wave32);
            _waveOutEvent.Play();
        }
Beispiel #4
0
        private void LogOut()
        {
            SingletonSesion.CleanSingleton();
            SingletonMainWindows.CleanSingleton();
            SingletonArtist.CleanSingleton();
            StopTrack();
            RpcStreamingService.Disconnect();
            Login login = new Login();

            login.Show();
            this.Close();
        }
Beispiel #5
0
        private static void runServer()
        {
            Server server = new Server
            {
                Services = { RpcStreamingService.BindService(new RpcStreamingServiceImpl()) }, // 绑定我们的实现
                Ports    = { new ServerPort("localhost", 23333, ServerCredentials.Insecure) }
            };

            server.Start();
            server.Ports.ToList().ForEach(a => Console.WriteLine($"RpcStreamingService Server listening on port {a.Port}..."));
            Server server1 = new Server
            {
                Services = { MathService.BindService(new MathServiceImpl()) }, // 绑定我们的实现
                Ports    = { new ServerPort("localhost", 23334, ServerCredentials.Insecure) }
            };

            server1.Start();
            server1.Ports.ToList().ForEach(a => Console.WriteLine($"MathService Server listening on port {a.Port}..."));
        }
        public static async Task <bool> UploadTrackAsync(Track track)
        {
            try
            {
                byte[] bytes = await RpcStreamingService.GetTrackAudio(track.fileTrack);

                Player.StopPlayer();
                Mp3FileReader mp3Reader = new Mp3FileReader(new MemoryStream(bytes));
                waveStream = new WaveChannel32(mp3Reader);
                waveOutEvent.Init(waveStream);
                isTrackReady = true;
                Player.StartPlayer();
                TrackRepository.AddPlayToTrack(SingletonSesion.GetSingletonSesion().account.idAccount, track.idTrack);
                return(true);
            }catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(false);
            }
        }
Beispiel #7
0
        private async void SaveAlbum()
        {
            Album album = new Album()
            {
                title         = TextBox_title_album.Text,
                cover         = Utils.Encoder.EncodeBase64(absolutePathCover),
                publication   = "2020-06-23",
                recordCompany = TextBox_company_album.Text,
                idMusicGender = 15,
                idAlbumType   = GetAlbumType(),
                idArtist      = SingletonArtist.GetSingletonArtist().idArtist,
            };

            album.tracks = this.tracks;
            album        = await AlbumRepository.CreateAlbum(album);

            for (int i = 0; i < album.tracks.Count; i++)
            {
                TrackAudio trackAudio = new TrackAudio()
                {
                    IdTrack   = album.tracks[i].idTrack,
                    TrackName = album.tracks[i].title,
                    Audio     = GetTrackBytes(filePaths[i])
                };

                try
                {
                    await RpcStreamingService.UploadTrack(trackAudio);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Please relod");
                }
            }
            MessageBox.Show("Album created");
            NavigationService.Navigate(new ContentCreatorPage());
        }