以下のような設定でループ再生を行うことで"ドラキュラ城.mp3"に関してはそれっぽく聞こえているように感じました。
SetLoopStartTimePosSoundMem を使用してループ再生を行った場合とそうでない場合で
DXライブラリのループ再生の品質が変わることは無さそうなので、
この事象は仕様(もしくは音楽ファイルに問題がある)という事になると思います。
管理人さんにご確認頂きたいということでしたら、ファイルは消さずに残しておいて下さい。
//- 以下、テストコード ("ドラキュラ城.mp3"を使用)-//
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
{
ChangeWindowMode( TRUE );
SetWindowText( "DxLib:" DXLIB_VERSION_STR );
if ( DxLib_Init( ) == -1 ) return -1;
int white = GetColor( 255, 255, 255 );
// DX_SOUNDDATATYPE_MEMNOPRESS
// DX_SOUNDDATATYPE_MEMPRESS
// DX_SOUNDDATATYPE_FILE
// SetCreateSoundDataType( DX_SOUNDDATATYPE_FILE );
int sh = LoadSoundMem( "ドラキュラ城.mp3" );
int at = GetSoundTotalTime( sh );
SetSoundCurrentTime( at - 4000, sh );
SetLoopPosSoundMem( 23834 + 35, sh );
SetLoopStartTimePosSoundMem( at - 25, sh );
PlaySoundMem( sh, DX_PLAYTYPE_LOOP, FALSE );
SetDrawScreen( DX_SCREEN_BACK );
while ( ProcessMessage( ) == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ) {
ClearDrawScreen( );
DrawFormatString( 0, 0, white, "TEST %d / %d", GetSoundCurrentTime( sh ), at );
ScreenFlip( );
}
DxLib_End( );
return 0;
}