44 lines
1.4 KiB
C#

using System;
using System.IO;
using ANX.Framework.Audio;
using System.Collections.ObjectModel;
using ANX.Framework.Media;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.Framework.NonXNA.SoundSystem
{
public interface ISoundSystemCreator : ICreator
{
float DistanceScale { get; set; }
float DopplerScale { get; set; }
float MasterVolume { get; set; }
float SpeedOfSound { get; set; }
IAudioListener CreateAudioListener();
IAudioEmitter CreateAudioEmitter();
ISoundEffect CreateSoundEffect(SoundEffect parent, Stream stream);
ISoundEffect CreateSoundEffect(SoundEffect parent, byte[] buffer, int offset,
int count, int sampleRate, AudioChannels channels, int loopStart,
int loopLength);
ISoundEffectInstance CreateSoundEffectInstance(ISoundEffect nativeSoundEffect);
IMicrophone CreateMicrophone(Microphone managedMicrophone);
ReadOnlyCollection<Microphone> GetAllMicrophones();
int GetDefaultMicrophone(ReadOnlyCollection<Microphone> allMicrophones);
ISong CreateSong(Song parentSong, Uri uri);
ISong CreateSong(Song parentSong, string filepath, int duration);
IDynamicSoundEffectInstance CreateDynamicSoundEffectInstance(int sampleRate, AudioChannels channels);
}
}