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(); }
private void LogOut() { SingletonSesion.CleanSingleton(); SingletonMainWindows.CleanSingleton(); SingletonArtist.CleanSingleton(); StopTrack(); RpcStreamingService.Disconnect(); Login login = new Login(); login.Show(); this.Close(); }
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); } }
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()); }