Esempio n. 1
0
 /// <summary>
 ///     Create a sample stream from a WMA file via user callback functions.
 /// </summary>
 /// <param name="handlers">The user defined file functions. </param>
 /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
 /// <param name="systemType">File system to use.</param>
 /// <param name="user">User instance data to pass to the callback functions. </param>
 public WmaStream(FileHandlers handlers, WmaStreamCreateConfig configs,
                  StreamFileSystemType systemType, IntPtr user)
 {
     Handle =
         WmaModule.WmaStreamCreateFileUserFunction.CheckResult(
             WmaModule.WmaStreamCreateFileUserFunction.Delegate(systemType, configs,
                                                                ref handlers, user));
 }
Esempio n. 2
0
        /// <summary>
        ///     Creates a sample stream from a WMA file.
        /// </summary>
        /// <param name="file">File name.</param>
        /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
        /// <param name="offset">File offset to begin streaming from.</param>
        /// <param name="length">Data length... 0 = use all data up to the end of the file.</param>
        public WmaStream(String file, WmaStreamCreateConfig configs, uint offset, uint length)
        {
            configs |= WmaStreamCreateConfig.Unicode;

            using (var fileNameHandle = InteropHelper.StringToPtr(file))
            {
                Handle = WmaModule.WmaStreamCreateFileFunction.CheckResult(
                    WmaModule.WmaStreamCreateFileFunction.Delegate(false,
                                                                   fileNameHandle.Handle, offset, length, configs));
            }
        }
Esempio n. 3
0
        /// <summary>
        ///     Creates a sample stream from a WMA file.
        /// </summary>
        /// <param name="file">File name.</param>
        /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
        /// <param name="offset">File offset to begin streaming from.</param>
        /// <param name="length">Data length... 0 = use all data up to the end of the file.</param>
        public WmaStream(String file, WmaStreamCreateConfig configs, uint offset, uint length)
        {
            configs |= WmaStreamCreateConfig.Unicode;

            using (var fileNameHandle = InteropHelper.StringToPtr(file))
            {
                Handle = WmaModule.WmaStreamCreateFileFunction.CheckResult(
                    WmaModule.WmaStreamCreateFileFunction.Delegate(false,
                        fileNameHandle.Handle, offset, length, configs));
            }
        }
Esempio n. 4
0
        /// <summary>
        ///     Creates a sample stream from a WMA file, optionally with a user name and password to authenticate. .
        /// </summary>
        /// <param name="file">File name.</param>
        /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
        /// <param name="offset">File offset to begin streaming from.</param>
        /// <param name="length">Data length... 0 = use all data up to the end of the file.</param>
        /// <param name="user">
        ///     User name to use in connecting to the server... if either this or pass is NULL, then no user
        ///     name/password is sent to the server.
        /// </param>
        /// <param name="password">Password to use in connecting to the server. </param>
        public WmaStream(String file, String user, String password, WmaStreamCreateConfig configs, uint offset,
                         uint length)
        {
            configs |= WmaStreamCreateConfig.Unicode;

            using (var fileNameHandle = InteropHelper.StringToPtr(file))
            {
                using (var userHandle = InteropHelper.StringToPtr(user))
                {
                    using (var passwordHandle = InteropHelper.StringToPtr(password))
                    {
                        Handle = WmaModule.WmaStreamCreateFileAuthFunction.CheckResult(
                            WmaModule.WmaStreamCreateFileAuthFunction.Delegate(false,
                                                                               fileNameHandle.Handle, offset, length, configs, userHandle.Handle, passwordHandle.Handle));
                    }
                }
            }
        }
Esempio n. 5
0
        /// <summary>
        ///     Creates a sample stream from a WMA memory stream.
        /// </summary>
        /// <param name="stream">Memory stream.</param>
        /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
        public WmaStream(MemoryStream stream, WmaStreamCreateConfig configs)
        {
            ArraySegment <byte> bufferSegment;

            byte[] buffer = null;
            if (stream.TryGetBuffer(out bufferSegment))
            {
                buffer = bufferSegment.Array;
            }
            else
            {
                buffer = stream.ToArray();
            }

            GCHandle bufferHandle = GCHandle.Alloc(buffer);

            Handle = WmaModule.WmaStreamCreateFileFunction.CheckResult(
                WmaModule.WmaStreamCreateFileFunction.Delegate(true,
                                                               bufferHandle.AddrOfPinnedObject(), 0, (uint)stream.Length, configs));

            bufferHandle.Free();
        }
Esempio n. 6
0
 /// <summary>
 ///     Creates a sample stream from a WMA file.
 /// </summary>
 /// <param name="file">File name.</param>
 /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
 public WmaStream(String file, WmaStreamCreateConfig configs) : this(file, configs, 0, 0)
 {
 }
Esempio n. 7
0
 /// <summary>
 ///     Create a sample stream from a WMA .Net stream.
 /// </summary>
 /// <param name="stream">The .Net stream.</param>
 /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
 /// <param name="systemType">File system to use.</param>
 public WmaStream(Stream stream, WmaStreamCreateConfig configs,
                  StreamFileSystemType systemType) : this(stream.AsBassStream(), configs, systemType)
 {
 }
Esempio n. 8
0
 /// <summary>
 ///     Create a sample stream from a WMA Bass stream.
 /// </summary>
 /// <param name="bassStream">The Bass stream.</param>
 /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
 /// <param name="systemType">File system to use.</param>
 public WmaStream(BassStream bassStream, WmaStreamCreateConfig configs,
                  StreamFileSystemType systemType) : this(bassStream.StreamHandlers, configs, systemType, IntPtr.Zero)
 {
 }
Esempio n. 9
0
 /// <summary>
 ///     Creates a sample stream from a WMA file, optionally with a user name and password to authenticate.
 /// </summary>
 /// <param name="file">File name.</param>
 /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
 /// <param name="user">
 ///     User name to use in connecting to the server... if either this or pass is NULL, then no user
 ///     name/password is sent to the server.
 /// </param>
 /// <param name="password">Password to use in connecting to the server. </param>
 public WmaStream(String file, String user, String password, WmaStreamCreateConfig configs)
     : this(file, user, password, configs, 0, 0)
 {
 }
Esempio n. 10
0
 /// <summary>
 ///     Creates a sample stream from a WMA file.
 /// </summary>
 /// <param name="file">File name.</param>
 /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
 public WmaStream(String file, WmaStreamCreateConfig configs) : this(file, configs, 0, 0)
 {
 }
Esempio n. 11
0
 /// <summary>
 ///     Create a sample stream from a WMA .Net stream.
 /// </summary>
 /// <param name="stream">The .Net stream.</param>
 /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
 /// <param name="systemType">File system to use.</param>
 public WmaStream(Stream stream, WmaStreamCreateConfig configs,
     StreamFileSystemType systemType) : this(stream.AsBassStream(), configs, systemType)
 {
 }
Esempio n. 12
0
 /// <summary>
 ///     Create a sample stream from a WMA Bass stream.
 /// </summary>
 /// <param name="bassStream">The Bass stream.</param>
 /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
 /// <param name="systemType">File system to use.</param>
 public WmaStream(BassStream bassStream, WmaStreamCreateConfig configs,
     StreamFileSystemType systemType) : this(bassStream.StreamHandlers, configs, systemType, IntPtr.Zero)
 {
 }
Esempio n. 13
0
 /// <summary>
 ///     Create a sample stream from a WMA file via user callback functions.
 /// </summary>
 /// <param name="handlers">The user defined file functions. </param>
 /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
 /// <param name="systemType">File system to use.</param>
 /// <param name="user">User instance data to pass to the callback functions. </param>
 public WmaStream(FileHandlers handlers, WmaStreamCreateConfig configs,
     StreamFileSystemType systemType, IntPtr user)
 {
     Handle =
         WmaModule.WmaStreamCreateFileUserFunction.CheckResult(
             WmaModule.WmaStreamCreateFileUserFunction.Delegate(systemType, configs,
                 ref handlers, user));
 }
Esempio n. 14
0
        /// <summary>
        ///     Creates a sample stream from a WMA memory stream.
        /// </summary>
        /// <param name="stream">Memory stream.</param>
        /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
        public WmaStream(MemoryStream stream, WmaStreamCreateConfig configs)
        {
            ArraySegment<byte> bufferSegment;
            byte[] buffer = null;
            if (stream.TryGetBuffer(out bufferSegment))
            {
                buffer = bufferSegment.Array;
            }
            else
            {
                buffer = stream.ToArray();
            }

            GCHandle bufferHandle = GCHandle.Alloc(buffer);

            Handle = WmaModule.WmaStreamCreateFileFunction.CheckResult(
                WmaModule.WmaStreamCreateFileFunction.Delegate(true,
                    bufferHandle.AddrOfPinnedObject(), 0, (uint) stream.Length, configs));

            bufferHandle.Free();
        }
Esempio n. 15
0
 /// <summary>
 ///     Creates a sample stream from a WMA file, optionally with a user name and password to authenticate.
 /// </summary>
 /// <param name="file">File name.</param>
 /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
 /// <param name="user">
 ///     User name to use in connecting to the server... if either this or pass is NULL, then no user
 ///     name/password is sent to the server.
 /// </param>
 /// <param name="password">Password to use in connecting to the server. </param>
 public WmaStream(String file, String user, String password, WmaStreamCreateConfig configs)
     : this(file, user, password, configs, 0, 0)
 {
 }
Esempio n. 16
0
        /// <summary>
        ///     Creates a sample stream from a WMA file, optionally with a user name and password to authenticate. .
        /// </summary>
        /// <param name="file">File name.</param>
        /// <param name="configs">Configure of <see cref="WmaStream" />.</param>
        /// <param name="offset">File offset to begin streaming from.</param>
        /// <param name="length">Data length... 0 = use all data up to the end of the file.</param>
        /// <param name="user">
        ///     User name to use in connecting to the server... if either this or pass is NULL, then no user
        ///     name/password is sent to the server.
        /// </param>
        /// <param name="password">Password to use in connecting to the server. </param>
        public WmaStream(String file, String user, String password, WmaStreamCreateConfig configs, uint offset,
            uint length)
        {
            configs |= WmaStreamCreateConfig.Unicode;

            using (var fileNameHandle = InteropHelper.StringToPtr(file))
            {
                using (var userHandle = InteropHelper.StringToPtr(user))
                {
                    using (var passwordHandle = InteropHelper.StringToPtr(password))
                    {
                        Handle = WmaModule.WmaStreamCreateFileAuthFunction.CheckResult(
                            WmaModule.WmaStreamCreateFileAuthFunction.Delegate(false,
                                fileNameHandle.Handle, offset, length, configs, userHandle.Handle, passwordHandle.Handle));
                    }
                }
            }
        }