Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
MP3AudioTrack.cs
Go to the documentation of this file.
1
using
System.IO
;
2
using
Microsoft.Xna.Framework.Audio;
3
using
XPT.Core.Audio.MP3Sharp;
4
5
namespace
Terraria.Audio
;
6
7
public
class
MP3AudioTrack
:
ASoundEffectBasedAudioTrack
8
{
9
private
Stream
_stream
;
10
11
private
MP3Stream
_mp3Stream
;
12
13
public
MP3AudioTrack
(
Stream
stream)
14
{
15
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
16
//IL_0014: Expected O, but got Unknown
17
_stream
= stream;
18
MP3Stream val =
new
MP3Stream(stream);
19
int
frequency = val.Frequency;
20
_mp3Stream
= val;
21
CreateSoundEffect
(frequency, AudioChannels.Stereo);
22
}
23
24
public
override
void
Reuse
()
25
{
26
((
Stream
)(
object
)
_mp3Stream
).
Position
= 0L;
27
}
28
29
public
override
void
Dispose
()
30
{
31
_soundEffectInstance
.Dispose();
32
((
Stream
)(
object
)
_mp3Stream
).
Dispose
();
33
_stream
.
Dispose
();
34
}
35
36
protected
override
void
ReadAheadPutAChunkIntoTheBuffer
()
37
{
38
byte
[] bufferToSubmit =
_bufferToSubmit
;
39
if
(((
Stream
)(
object
)
_mp3Stream
).
Read
(bufferToSubmit, 0, bufferToSubmit.Length) < 1)
40
{
41
Stop
(AudioStopOptions.Immediate);
42
}
43
else
44
{
45
_soundEffectInstance
.SubmitBuffer(
_bufferToSubmit
);
46
}
47
}
48
}
Position
Position
Definition
ImmutableDictionary.cs:625
System.IO.Stream.Dispose
void Dispose()
Definition
Stream.cs:639
System.IO.Stream
Definition
Stream.cs:11
Terraria.Audio.ASoundEffectBasedAudioTrack._soundEffectInstance
DynamicSoundEffectInstance _soundEffectInstance
Definition
ASoundEffectBasedAudioTrack.cs:22
Terraria.Audio.ASoundEffectBasedAudioTrack.CreateSoundEffect
void CreateSoundEffect(int sampleRate, AudioChannels channels)
Definition
ASoundEffectBasedAudioTrack.cs:34
Terraria.Audio.ASoundEffectBasedAudioTrack.Stop
void Stop(AudioStopOptions options)
Definition
ASoundEffectBasedAudioTrack.cs:70
Terraria.Audio.ASoundEffectBasedAudioTrack._bufferToSubmit
byte[] _bufferToSubmit
Definition
ASoundEffectBasedAudioTrack.cs:14
Terraria.Audio.ASoundEffectBasedAudioTrack
Definition
ASoundEffectBasedAudioTrack.cs:7
Terraria.Audio.MP3AudioTrack._mp3Stream
MP3Stream _mp3Stream
Definition
MP3AudioTrack.cs:11
Terraria.Audio.MP3AudioTrack.ReadAheadPutAChunkIntoTheBuffer
override void ReadAheadPutAChunkIntoTheBuffer()
Definition
MP3AudioTrack.cs:36
Terraria.Audio.MP3AudioTrack.Reuse
override void Reuse()
Definition
MP3AudioTrack.cs:24
Terraria.Audio.MP3AudioTrack.Dispose
override void Dispose()
Definition
MP3AudioTrack.cs:29
Terraria.Audio.MP3AudioTrack.MP3AudioTrack
MP3AudioTrack(Stream stream)
Definition
MP3AudioTrack.cs:13
Terraria.Audio.MP3AudioTrack._stream
Stream _stream
Definition
MP3AudioTrack.cs:9
Terraria.Audio.MP3AudioTrack
Definition
MP3AudioTrack.cs:8
System.IO.FileAccess.Read
@ Read
System.IO
Definition
ConsoleStream.cs:3
Terraria.Audio
Definition
ActiveSound.cs:4
source
Terraria.Audio
MP3AudioTrack.cs
Generated by
1.10.0