Esempio n. 1
0
        public unsafe long Seek(long frames, SfSeek seek = SfSeek.Begin)
        {
            if (!Seekable)
            {
                throw new NotSupportedException();
            }

            var position = sf_seek(Handle, frames, seek);

            if (position == -1)
            {
                throw new InvalidOperationException(GetErrorMessage(Handle));
            }

            return(position);
        }
Esempio n. 2
0
        public static SeekOrigin ToSeekOrigin(this SfSeek seek)
        {
            switch (seek)
            {
            case SfSeek.Begin:
                return(SeekOrigin.Begin);

            case SfSeek.Current:
                return(SeekOrigin.Current);

            case SfSeek.End:
                return(SeekOrigin.End);

            default:
                throw new ArgumentOutOfRangeException(nameof(seek), seek, null);
            }
        }
Esempio n. 3
0
 private static extern unsafe long sf_seek(
     SndFile__ *sndFile,
     long frames,
     SfSeek whence
     );
 private long Seek(long offset, SfSeek seek, IntPtr userData)
 {
     return(Stream.Seek(offset, seek.ToSeekOrigin()));
 }