public void SaveProject(string projectFileName) { if (LayoutProperties == null) { return; } using (new WaitCursor()) { LayoutProperties.m_AudioPlayerInfo = new List <AudioPlayerInfo>(); LayoutProperties.m_AudioPlayerInfo.AddRange(AudioPlayerInfo.Convert(myCanvas.Children.OfType <AudioPlaybackControl>().ToArray())); LayoutProperties.m_VideoPlayerInfo = new List <VideoPlayerInfo>(); LayoutProperties.m_VideoPlayerInfo.AddRange(VideoPlayerInfo.Convert(myCanvas.Children.OfType <VideoPlaybackControl>().ToArray())); LayoutProperties.m_PowerPointInfo = new List <PowerPointInfo>(); LayoutProperties.m_PowerPointInfo.AddRange(PowerPointInfo.Convert(myCanvas.Children.OfType <PowerPointControl>().ToArray())); ComposerLayout.Save(); //LayoutProperties.WordDocument = ""; //m_Layout.Data1 = LayoutFileReader.GetBytes(SerializeToString(LayoutProperties)); // m_Layout.Save(projectFileName); //MenuItemSaveProject.IsEnabled = false; } }
AudioPlayerInfo CreateAudioPlayer() { AudioPlayerInfo progress = new AudioPlayerInfo(); AudioSource source = gameObject.AddComponent <AudioSource> (); source.volume = volume; progress.audioSource = source; return(progress); }
void Play(AudioPlayerInfo player) { if (player.curIdx < player.audioList.Count) { AudioClip clip = FindAudioClip(player.audioList[player.curIdx]); player.audioSource.clip = clip; player.audioSource.volume = player.clipsVolume[player.curIdx] * volume; player.audioSource.Play(); } }
void RemoveAudioPlayer(int id) { //不删除串行播放器 if (_parallelAudioPlayers.ContainsKey(id)) { AudioPlayerInfo player = _parallelAudioPlayers [id]; _parallelAudioPlayers.Remove(id); Destroy(player.audioSource); } }
public int Play_Parallel(List <string> audioNames, List <float> volumes, PlayMode playMode = PlayMode.Order) { if (audioNames == null || audioNames.Count == 0) { return(-1); } AudioPlayerInfo player = new AudioPlayerInfo( GeneratePlayerId(), gameObject.AddComponent <AudioSource> (), playMode, audioNames, volumes); _parallelAudioPlayers.Add(player.id, player); Play(player); return(player.id); }
void AudioPlayerIterate() { List <AudioPlayerInfo> list = new List <AudioPlayerInfo> (); if (_serialAudioPlayer != null) { list.Add(_serialAudioPlayer); } list.AddRange(_parallelAudioPlayers.Values); AudioPlayerInfo player = null; AudioClip clip = null; for (int i = 0; i < list.Count; i++) { player = list [i]; if (!player.audioSource.isPlaying) { //如果播放已停止,检测 播放列表. if (player.playMode == PlayMode.Order) { player.curIdx = player.curIdx + 1; if (player.curIdx < player.audioList.Count) { Play(player); } else { RemoveAudioPlayer(player.id); } } else if (player.playMode == PlayMode.Loop) { player.curIdx = (player.curIdx + 1) % player.audioList.Count; Play(player); } else if (player.playMode == PlayMode.Random) { player.curIdx = Random.Range(0, player.audioList.Count); Play(player); } } } }
private void AddAudioPlaybackControl(AudioPlayerInfo info) { if (Properties.Settings.Default.AudioPlaybackOneOutput) { AudioControls.All((i) => i.Stop()); } var control = new ShowComposer.UserControls.AudioPlaybackControl(); control.IsRelativePath = info.IsRelativePath; control.AudioFile = info.AudioFile; control.SoundVolume = info.AudioVolume; control.IsExclusivePlayback = info.IsExclusivePlayback; ((AudioPlaybackControl)control).OnRemove += AudioPlaybackControl_OnRemove; Canvas.SetTop(control, info.Top); Canvas.SetLeft(control, info.Left); AddCanvasElement(control, new WindowsPoint()); }
public void Play_Serial(List <string> audioNames, List <float> volumes, PlayMode playMode = PlayMode.Order) { if (audioNames == null || audioNames.Count == 0) { return; } if (_serialAudioPlayer == null) { _serialAudioPlayer = new AudioPlayerInfo( 0, gameObject.AddComponent <AudioSource> (), playMode, audioNames, volumes); } else { _serialAudioPlayer.Reset(playMode, audioNames, volumes); } Play(_serialAudioPlayer); }