void CreateItem(List <SlgPB.PVPUser> _pvpUsers) { _playItemList.Clear(); _Grid.DestoryAllChildren(); int dataCount = _pvpUsers.Count; if (dataCount > 5) { _Grid.pivot = UIWidget.Pivot.Right; _scrollview.enabled = true; } else { _Grid.pivot = UIWidget.Pivot.Center; _scrollview.enabled = false; } for (int i = 0; i < dataCount; i++) { GameObject prefab = (GameObject)Resources.Load(AppConfig.FOLDER_PROFAB_UI + "pvp/playItem"); GameObject item = NGUITools.AddChild(_Grid.gameObject, prefab); PlayItem playitem = item.GetComponent <PlayItem>(); item.name = "0" + i; playitem.Init(_pvpUsers[i]); _playItemList.Add(playitem); } _Grid.Reposition(); }
/// <summary> /// Cleans up the first data block in play queue. /// </summary> /// <param name="state">User data.</param> private void OnCleanUpFirstBlock(object state) { try{ lock (m_pPlayItems){ PlayItem item = m_pPlayItems[0]; WavMethods.waveOutUnprepareHeader(m_pWavDevHandle, item.HeaderHandle.AddrOfPinnedObject(), Marshal.SizeOf(item.Header)); m_pPlayItems.Remove(item); m_BytesBuffered -= item.DataSize; item.Dispose(); } } catch { } }
public static void LoadXML(string path) { XDocument config = XDocument.Load(path); XElement xplaylist = config.Root.Element(XName.Get("playlist")); XName x_name = XName.Get("name"); XName x_path = XName.Get("path"); foreach (XElement item in xplaylist.Elements()) { playlist.Add(new PlayItem { Name = item.Attribute(x_name).Value, Path = item.Attribute(x_path).Value }); } _current = playlist[0]; }
public void AddMessageToPlay(string text) { if (!string.IsNullOrEmpty(text)) { if (text.StartsWith("<message")) { var voiceItem = (VoiceListItem)Activator.CreateInstance(MonitorItem.GetType()); voiceItem.Load(text); addVoiceListItem(voiceItem); } else { var item = new PlayItem(this) { Text = "SAPI XML", Xml = text, Status = JobStatusType.Parsed, }; lock (playlistLock) { playlist.Add(item); } } } }
void OnUpateItem(GameObject go, int index, int realIndex, List <SlgPB.PVPUser> dataList, Dictionary <int, PlayItem> dataDic) { int dataCount = dataList.Count; int indexList = Mathf.Abs(realIndex); PlayItem Item1 = go.GetComponent <PlayItem>(); int index_ = indexList; if (index_ > (dataCount - 1)) { Item1.gameObject.SetActive(false); return; } else { Item1.gameObject.SetActive(true); Item1.Init(dataList[index_]); if (!dataDic.ContainsKey(dataList[index_].userId)) { dataDic.Add(dataList[index_].userId, Item1); } } }
// Use this for initialization void Start() { List <string> rmaps = FileUtility.GetRmapList(); List <string> clipNames = FileUtility.GetClipList(); foreach (string clip in clipNames) { Debug.Log("clipnames: " + clip); } foreach (string rmap in rmaps) { //string rmapFile = Path.GetFileName (rmap); Debug.Log("rmap " + rmap); string rmapFile = rmap.Replace("Assets/Resources/RhythmMaps/", ""); Debug.Log("rmapFile " + rmapFile); if (!clipNames.Contains(rmapFile)) { Debug.Log("Could not find " + rmapFile); continue; } GameObject playItem = Instantiate(playItemPrefab) as GameObject; PlayItem itemComponent = playItem.GetComponent <PlayItem> (); itemComponent.rmapName = rmapFile; itemComponent.textItem.text = rmapFile.Replace(".rmap", ""); playItem.transform.SetParent(transform, false); } }
private void readPlaylist(MemoryStream ms, int playlistLength) { int assumedLength = ms.ReadInt32BE(); Debug.WriteLineIf(assumedLength != playlistLength - 4, String.Format("Expected Playlist length {0}, but got {1}", playlistLength, assumedLength)); ushort reserved = ms.ReadUInt16BE(); ushort playLength = ms.ReadUInt16BE(); ushort subpathsLength = ms.ReadUInt16BE(); PlayItems = new PlayItem[playLength]; for (int i = 0; i < playLength; i++) { PlayItems[i] = new PlayItem(ms); } if (subpathsLength > 0) { for (int i = 0; i < subpathsLength; i++) { int subpathBufferSize = ms.ReadInt32BE(); MemoryStream ms2 = new MemoryStream(ms.ReadFixedLengthByteArray(subpathBufferSize)); ms2.Position++; SubPathType subPathType = (SubPathType)ms2.ReadInt8(); ms2.Position++; bool repeat = (ms2.ReadInt8() & 0x01) != 0; ms2.Position++; int numSubPlayItems = ms2.ReadInt8(); SubPlayItem[] subPlayItems = new SubPlayItem[numSubPlayItems]; for (int j = 0; j < numSubPlayItems; j++) { subPlayItems[j] = new SubPlayItem(ms2.ReadFixedLengthByteArray(ms2.ReadUInt16BE())); } PlayItems[i].SubPlayItems = subPlayItems; } } }
public static void Next() { _current = NextStation; ChangeItem(); }
/// <summary> /// Plays specified audio data bytes. If player is currently playing, data will be queued for playing. /// </summary> /// <param name="audioData">Audio data. Data boundary must n * BlockSize.</param> /// <param name="offset">Offset in the buffer.</param> /// <param name="count">Number of bytes to play form the specified offset.</param> /// <exception cref="ObjectDisposedException">Is raised when this object is disposed and this method is accessed.</exception> /// <exception cref="ArgumentNullException">Is raised when <b>audioData</b> is null.</exception> /// <exception cref="ArgumentException">Is raised when <b>audioData</b> is with invalid length.</exception> public void Play(byte[] audioData, int offset, int count) { if (m_IsDisposed) { throw new ObjectDisposedException("WaveOut"); } if (audioData == null) { throw new ArgumentNullException("audioData"); } if ((count % m_BlockSize) != 0) { throw new ArgumentException("Audio data is not n * BlockSize."); } //--- Queue specified audio block for play. -------------------------------------------------------- byte[] data = new byte[count]; Array.Copy(audioData, offset, data, 0, count); GCHandle dataHandle = GCHandle.Alloc(data, GCHandleType.Pinned); // m_BytesBuffered += data.Length; WAVEHDR wavHeader = new WAVEHDR(); wavHeader.lpData = dataHandle.AddrOfPinnedObject(); wavHeader.dwBufferLength = (uint)data.Length; wavHeader.dwBytesRecorded = 0; wavHeader.dwUser = IntPtr.Zero; wavHeader.dwFlags = 0; wavHeader.dwLoops = 0; wavHeader.lpNext = IntPtr.Zero; wavHeader.reserved = 0; GCHandle headerHandle = GCHandle.Alloc(wavHeader, GCHandleType.Pinned); int result = 0; result = WavMethods.waveOutPrepareHeader(m_pWavDevHandle, headerHandle.AddrOfPinnedObject(), Marshal.SizeOf(wavHeader)); if (result == MMSYSERR.NOERROR) { PlayItem item = new PlayItem(ref headerHandle, ref dataHandle, data.Length); m_pPlayItems.Add(item); // We ran out of minimum buffer, we must pause playing while min buffer filled. if (m_BytesBuffered < 1000) { if (!m_IsPaused) { WavMethods.waveOutPause(m_pWavDevHandle); m_IsPaused = true; } //File.AppendAllText("aaaa.txt","Begin buffer\r\n"); } // Buffering completed,we may resume playing. else if (m_IsPaused && m_BytesBuffered > m_MinBuffer) { WavMethods.waveOutRestart(m_pWavDevHandle); m_IsPaused = false; //File.AppendAllText("aaaa.txt","end buffer: " + m_BytesBuffered + "\r\n"); } /* * // TODO: If we ran out of minimum buffer, we must pause playing while min buffer filled. * if(m_BytesBuffered < m_MinBuffer){ * if(!m_IsPaused){ * WavMethods.waveOutPause(m_pWavDevHandle); * m_IsPaused = true; * } * } * else if(m_IsPaused){ * WavMethods.waveOutRestart(m_pWavDevHandle); * }*/ m_BytesBuffered += data.Length; result = WavMethods.waveOutWrite(m_pWavDevHandle, headerHandle.AddrOfPinnedObject(), Marshal.SizeOf(wavHeader)); } else { dataHandle.Free(); headerHandle.Free(); } //-------------------------------------------------------------------------------------------------- }
void AddResult(PlayItem result) { Application.DoEvents(); if (!InvokeRequired) resultsGrid.Rows.Add(GetResultsRow(result)); else BeginInvoke(new AddResultHandler(AddResult), result); if (resultsGrid.Rows.Count > 0) playButton.Enabled = true; }
public GalleryItemViewModel(PlayItem item = null) { Title = item?.Text; Item = item; }
private void AddItem(PlayItem item) { ItemsForPlay.Add(item); }
static DataGridViewRow GetResultsRow(PlayItem item) { DataGridViewRow row = new DataGridViewRow(); DataGridViewTextBoxCell cellArtist = new DataGridViewTextBoxCell(); DataGridViewTextBoxCell cellTrack = new DataGridViewTextBoxCell(); DataGridViewTextBoxCell cellAlbum = new DataGridViewTextBoxCell(); DataGridViewTextBoxCell cellSource = new DataGridViewTextBoxCell(); cellArtist.Value = item.Artist; cellTrack.Value = item.Track; cellAlbum.Value = item.Album; cellSource.Value = item.Source; row.Cells.Add(cellArtist); row.Cells.Add(cellTrack); row.Cells.Add(cellAlbum); row.Cells.Add(cellSource); row.Tag = item; return row; }
/// <summary> /// Plays specified audio data bytes. If player is currently playing, data will be queued for playing. /// </summary> /// <param name="audioData">Audio data. Data boundary must n * BlockSize.</param> /// <param name="offset">Offset in the buffer.</param> /// <param name="count">Number of bytes to play form the specified offset.</param> /// <exception cref="ObjectDisposedException">Is raised when this object is disposed and this method is accessed.</exception> /// <exception cref="ArgumentNullException">Is raised when <b>audioData</b> is null.</exception> /// <exception cref="ArgumentException">Is raised when <b>audioData</b> is with invalid length.</exception> public void Play(byte[] audioData,int offset,int count) { if(m_IsDisposed){ throw new ObjectDisposedException("WaveOut"); } if(audioData == null){ throw new ArgumentNullException("audioData"); } if((count % m_BlockSize) != 0){ throw new ArgumentException("Audio data is not n * BlockSize."); } //--- Queue specified audio block for play. -------------------------------------------------------- byte[] data = new byte[count]; Array.Copy(audioData,offset,data,0,count); GCHandle dataHandle = GCHandle.Alloc(data,GCHandleType.Pinned); // m_BytesBuffered += data.Length; WAVEHDR wavHeader = new WAVEHDR(); wavHeader.lpData = dataHandle.AddrOfPinnedObject(); wavHeader.dwBufferLength = (uint)data.Length; wavHeader.dwBytesRecorded = 0; wavHeader.dwUser = IntPtr.Zero; wavHeader.dwFlags = 0; wavHeader.dwLoops = 0; wavHeader.lpNext = IntPtr.Zero; wavHeader.reserved = 0; GCHandle headerHandle = GCHandle.Alloc(wavHeader,GCHandleType.Pinned); int result = 0; result = WavMethods.waveOutPrepareHeader(m_pWavDevHandle,headerHandle.AddrOfPinnedObject(),Marshal.SizeOf(wavHeader)); if(result == MMSYSERR.NOERROR){ PlayItem item = new PlayItem(ref headerHandle,ref dataHandle,data.Length); m_pPlayItems.Add(item); // We ran out of minimum buffer, we must pause playing while min buffer filled. if(m_BytesBuffered < 1000){ if(!m_IsPaused){ WavMethods.waveOutPause(m_pWavDevHandle); m_IsPaused = true; } //File.AppendAllText("aaaa.txt","Begin buffer\r\n"); } // Buffering completed,we may resume playing. else if(m_IsPaused && m_BytesBuffered > m_MinBuffer){ WavMethods.waveOutRestart(m_pWavDevHandle); m_IsPaused = false; //File.AppendAllText("aaaa.txt","end buffer: " + m_BytesBuffered + "\r\n"); } /* // TODO: If we ran out of minimum buffer, we must pause playing while min buffer filled. if(m_BytesBuffered < m_MinBuffer){ if(!m_IsPaused){ WavMethods.waveOutPause(m_pWavDevHandle); m_IsPaused = true; } } else if(m_IsPaused){ WavMethods.waveOutRestart(m_pWavDevHandle); }*/ m_BytesBuffered += data.Length; result = WavMethods.waveOutWrite(m_pWavDevHandle,headerHandle.AddrOfPinnedObject(),Marshal.SizeOf(wavHeader)); } else{ dataHandle.Free(); headerHandle.Free(); } //-------------------------------------------------------------------------------------------------- }
PlaydarResults GetResults(string qid) { // Build the request URL. StringBuilder url = new StringBuilder(); url.Append(Plugin.Host.Paths.LocalPlaydarUrl).Append("api/?method=get_results"); url.Append("&qid=").Append(qid); if (Log.IsDebugEnabled) Log.Debug("GetResults " + url); // Get and process result. PlaydarResults results = new PlaydarResults(); string response = PlayerPlugin.WGet(url.ToString()); if (response != null) { JObject json = JObject.Parse(response); results.Solved = ToBool(json["solved"]); results.PollInterval = ToInt(json["poll_interval"]); results.PollLimit = ToInt(json["poll_limit"]); foreach (JToken result in json["results"].Children()) { PlayItem item = new PlayItem(); item.SId = DeQuotify(result["sid"]); item.Artist = DeQuotify(result["artist"]); item.Track = DeQuotify(result["track"]); item.Album = DeQuotify(result["album"]); item.MimeType = DeQuotify(result["mimetype"]); item.Score = ToFloat(result["score"]); item.Duration = ToInt(result["duration"]); item.Bitrate = ToInt(result["bitrate"]); item.Size = ToInt(result["size"]); item.Source = DeQuotify(result["source"]); if (Log.IsDebugEnabled) Log.Debug("SId: " + item.SId); results.PlayItems.Add(item); } } return results; }
void PlayItem(PlayItem item) { // Disable controls. Controls re-activated on mplayer state change. EnablePlayControls(false); resetButton.Enabled = false; // Build the request URL. StringBuilder url = new StringBuilder(); url.Append(Plugin.Host.Paths.LocalPlaydarUrl).Append("sid/").Append(item.SId); if (Log.IsDebugEnabled) Log.Debug("Stream filename " + url); // Play the music! SetStatus("Requesting audio stream."); Player = new MPlayer(item, url.ToString(), this); Player.Volume = volumeTrackbar.Value; Player.RunAsync(); }
/// <summary> /// 购买 /// </summary> /// <param name="mode"></param> /// <returns></returns> public JsonResult BuyPlays(BuyPlayForm mode) { ReturnJson r = new ReturnJson() { s = "ok" }; using (var db = new SHBTONLINEContext()) { try { var state = db.Plays.Where(p => p.ID == mode.PlayID).First(); if (state.Status != "正常") { r.s = "error"; r.r = "比赛未开始或已结束"; } var buyitems = db.PlayItems.Where(p => p.Loginname == mode.Loginname && p.PlayID == mode.PlayID).ToList(); //if (buyitems.Count > 0) //{ // r.s = "error"; // r.r = "单个条目无法重复购买"; //} PlayItem item = new PlayItem() { ID = Guid.NewGuid().ToString(), CreateTime = DateTime.Now, Loginname = mode.Loginname, PlayID = mode.PlayID, State = "已购买" }; item.Cost1 = Convert.ToInt32(mode.Cost * 3); var queryuser = db.userinfoes.Where(p => p.LoginName == mode.Loginname).FirstOrDefault(); if (queryuser.SCrrency < 3) { if (queryuser.Points < 300) { r.s = "error"; r.r = "兜里空空如也"; return(Json(r)); } else { queryuser.Points = queryuser.Points - Convert.ToInt32(item.Cost1) * 100; if (queryuser.Points < 0) { r.s = "error"; r.r = "你买太多了,兄弟"; return(Json(r)); } else { item.Cost2 = (item.Cost1) * 100; item.Cost1 = 0; r.s = "error"; r.r = "已经使用积分购买,花费" + item.Cost2 + "积分"; } } } queryuser.SCrrency = queryuser.SCrrency - Convert.ToInt32(item.Cost1); if (queryuser.SCrrency < 0) { r.s = "error"; r.r = "你买太多了,兄弟"; return(Json(r)); } db.PlayItems.Add(item); db.userinfoes.Attach(queryuser); db.Entry(queryuser).Property(p => p.SCrrency).IsModified = true; db.Entry(queryuser).Property(p => p.Points).IsModified = true; db.SaveChanges(); } catch (Exception ex) { r.s = "error"; r.r = "下注失败," + ex.Message; } } return(Json(r)); }
List <PlayItem> AddTextToPlaylist(string game, string text, bool addToPlaylist, string voiceGroup, // Optional properties for NPC character. string name = null, string gender = null, string effect = null, // Optional propertied for player character string playerName = null, string playerNameChanged = null, string playerClass = null ) { // It will take too long to convert large amount of text to WAV data and apply all filters. // This function will split text into smaller sentences. var cs = "[comment]"; var ce = "[/comment]"; var items = new List <PlayItem>(); var splitItems = MainHelper.SplitText(text, new string[] { ". ", "! ", "? ", cs, ce }); var sentences = splitItems.Where(x => (x.Value + x.Key).Trim().Length > 0).ToArray(); bool comment = false; // Loop trough each sentence. for (int i = 0; i < sentences.Length; i++) { var block = sentences[i]; // Combine sentence and separator. var sentence = block.Value + block.Key.Replace(cs, "").Replace(ce, "") + ""; if (!string.IsNullOrEmpty(sentence.Trim('\r', '\n', ' '))) { var item = new PlayItem(this) { Game = game, // Set Player properties PlayerName = playerName, PlayerNameChanged = playerNameChanged, PlayerClass = playerClass, // Set NPC properties. Name = name, Gender = gender, Effect = effect, // Set data properties. Status = JobStatusType.Parsed, IsComment = comment, Group = voiceGroup, }; item.Text = sentence; if (SettingsManager.Options.CacheDataGeneralize) { item.Text = item.GetGeneralizedText(); } item.Xml = ConvertTextToSapiXml(item.Text, comment); items.Add(item); if (addToPlaylist) { lock (playlistLock) { playlist.Add(item); } } } ; if (block.Key == cs) { comment = true; } if (block.Key == ce) { comment = false; } } return(items); }
public static void Prev() { _current = PrevStation; ChangeItem(); }
public void Play(byte[] audioData, int offset, int count) { if (m_IsDisposed) { throw new ObjectDisposedException("WaveOut"); } if (audioData == null) { throw new ArgumentNullException("audioData"); } if ((count % m_BlockSize) != 0) { throw new ArgumentException("Audio data is not n * BlockSize."); } while (m_pPlayItems.Count > 10) { Thread.Sleep(10); } byte[] data = new byte[count]; Array.Copy(audioData, offset, data, 0, count); GCHandle dataHandle = GCHandle.Alloc(data, GCHandleType.Pinned); WAVEHDR wavHeader = new WAVEHDR(); wavHeader.lpData = dataHandle.AddrOfPinnedObject(); wavHeader.dwBufferLength = (uint)data.Length; wavHeader.dwBytesRecorded = 0; wavHeader.dwUser = IntPtr.Zero; wavHeader.dwFlags = 0; wavHeader.dwLoops = 0; wavHeader.lpNext = IntPtr.Zero; wavHeader.reserved = 0; GCHandle headerHandle = GCHandle.Alloc(wavHeader, GCHandleType.Pinned); int result = 0; result = WavMethods.waveOutPrepareHeader(m_pWavDevHandle, headerHandle.AddrOfPinnedObject(), Marshal.SizeOf(wavHeader)); if (result == MMSYSERR.NOERROR) { PlayItem item = new PlayItem(ref headerHandle, ref dataHandle, data.Length); lock (m_pPlayItems) { m_pPlayItems.Add(item); m_BytesBuffered += data.Length; if (m_BytesBuffered < m_MinBuffer / 10) { if (!m_IsBuffing) { WavMethods.waveOutPause(m_pWavDevHandle); m_IsBuffing = true; } } else if (m_IsBuffing && m_BytesBuffered > m_MinBuffer) { WavMethods.waveOutRestart(m_pWavDevHandle); m_IsBuffing = false; } result = WavMethods.waveOutWrite(m_pWavDevHandle, headerHandle.AddrOfPinnedObject(), Marshal.SizeOf(wavHeader)); } } else { dataHandle.Free(); headerHandle.Free(); } //-------------------------------------------------------------------------------------------------- }
internal static string GetPlayingMessage(PlayItem item) { StringBuilder str = new StringBuilder(); str.Append("Playing: "); str.Append(item.Artist).Append(" - "); str.Append(item.Track); if (!string.IsNullOrEmpty(item.Album)) str.Append(" /// ").Append(item.Album); str.Append(" /// ").Append(item.Source); return str.ToString(); }
public MixElement(PlayItem item, WaveFormat format) : base(item) { waveFormat = format; }
public FileStreamResult Playitem([FromBody] PlayItem item) { var stream = new FileStream(item.url, FileMode.Open, FileAccess.Read); return(new FileStreamResult(stream, "application/octet-stream")); }