コード例 #1
0
 public void LoadAddEnd(ContentList.AudioFile af)
 {
     SetSampleDataToWasapiEnd(af.Idx, mFlac);
     mLoadedGroupId = af.GroupId;
     mFlac.DecodeEnd();
     mFlac = null;
 }
コード例 #2
0
        /// <returns>負の値: FLACのエラー FlacErrorCode</returns>
        public int LoadAddStart(ContentList.AudioFile af)
        {
            mFlac = new WWFlacRWCS.FlacRW();
            int ercd = mFlac.DecodeStreamStart(af.Path);

            if (ercd < 0)
            {
                return(ercd);
            }

            SetSampleDataToWasapiStart(af.Idx, mFlac);
            return(ercd);
        }
コード例 #3
0
        /// <returns>負: FLACのエラー FlacErrorCode。0: デコード終了。1以上: デコードされて出てきたデータのバイト数。</returns>
        public int LoadAddDo(ContentList.AudioFile af)
        {
            int ercd = 0;

            byte[] pcmBuffer = null;
            ercd = mFlac.DecodeStreamOne(out pcmBuffer);
            if (0 < ercd)
            {
                int buffBytes = ercd;
                SetSampleDataToWasapiOne(af.Idx, pcmBuffer, buffBytes);
            }

            pcmBuffer = null;

            return(ercd);
        }
コード例 #4
0
        /// <returns>負の値: FLACのエラー FlacErrorCode</returns>
        public int LoadAddStart(ContentList.AudioFile af)
        {
            mFlac = new WWFlacRWCS.FlacRW();
            int ercd = mFlac.DecodeStreamStart(af.Path);

            if (ercd < 0)
            {
                return(ercd);
            }

            int hr = SetSampleDataToWasapiStart(af.Idx, mFlac);

            if (hr < 0)
            {
                ercd = (int)WWFlacRWCS.FlacErrorCode.Other;
            }
            return(ercd);
        }
コード例 #5
0
        /// <returns>負: FLACのエラー FlacErrorCode。0: デコード終了。1以上: デコードされて出てきたデータのバイト数。</returns>
        public int LoadAddDo(ContentList.AudioFile af)
        {
            int ercd = 0;

            byte[] pcmBuffer = null;
            ercd = mFlac.DecodeStreamOne(out pcmBuffer);
            if (0 < ercd)
            {
                int buffBytes = ercd;
                int hr        = SetSampleDataToWasapiOne(af.Idx, pcmBuffer, buffBytes);
                if (hr < 0)
                {
                    ercd = (int)WWFlacRWCS.FlacErrorCode.Other;
                }
            }

            pcmBuffer = null;

            return(ercd);
        }
コード例 #6
0
        /// <returns>負の場合WASAPIエラーコード。成功の場合0。</returns>
        public int PlaylistCreateStart(int deviceId, ContentList.AudioFile af)
        {
            int ercd = 0;

            mWasapi.Stop();
            mWasapi.Unsetup();

            ChangeState(State.Loading);

            mWasapi.ClearPlayList();

            // 最初に再生する曲 af
            ercd = Setup(deviceId, af.Pcm);
            if (ercd < 0)
            {
                Console.WriteLine("E: PlaybackController::Play({0}) failed {1:X8}", deviceId, ercd);
                ChangeState(State.Stopped);
                return(ercd);
            }

            mWasapi.AddPlayPcmDataStart();

            return(0);
        }