Added audio player logic and tests.

This commit is contained in:
2025-02-24 00:15:17 -05:00
parent f8cda3105a
commit 3c2c39e659
14 changed files with 1174 additions and 41 deletions

View File

@@ -0,0 +1,34 @@
using ManagedBass.Flac;
using ManagedBass;
namespace Harmonia.Core.Engine;
public class MediaPlayer : BaseMediaPlayer
{
protected override int OnLoad(string FileName)
{
string extension = Path.GetExtension(FileName).ToLower();
switch (extension)
{
case ".flac":
return BassFlac.CreateStream(FileName);
//case ".opus":
// return BassOpus.CreateStream(FileName);
//case ".wma":
// return BassWma.CreateStream(FileName);
//case ".mid":
// return BassMidi.CreateStream(FileName);
default:
return base.OnLoad(FileName);
}
}
protected override void InitProperties()
{
base.InitProperties();
ChannelInfo channelInfo = Bass.ChannelGetInfo(Handle);
Frequency = channelInfo.Frequency;
}
}