Exemple #1
0
    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();
    }
Exemple #2
0
 /// <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 {
     }
 }
Exemple #3
0
        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];
        }
Exemple #4
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); }
         }
     }
 }
Exemple #5
0
    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);
        }
    }
Exemple #7
0
        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;
                }
            }
        }
Exemple #8
0
 public static void Next()
 {
     _current = NextStation;
     ChangeItem();
 }
Exemple #9
0
        /// <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();
            }
            //--------------------------------------------------------------------------------------------------
        }
Exemple #10
0
 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;
 }
Exemple #11
0
 public GalleryItemViewModel(PlayItem item = null)
 {
     Title = item?.Text;
     Item  = item;
 }
Exemple #12
0
 private void AddItem(PlayItem item)
 {
     ItemsForPlay.Add(item);
 }
Exemple #13
0
 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();
            }
            //--------------------------------------------------------------------------------------------------
        }
Exemple #15
0
        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;
        }
Exemple #16
0
        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();
        }
Exemple #17
0
        /// <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));
        }
Exemple #18
0
        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);
        }
Exemple #19
0
 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();
            }
            //--------------------------------------------------------------------------------------------------
        }
Exemple #21
0
 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();
 }
Exemple #22
0
 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"));
        }