Both, after playback one file, and when I use a playlist.
I tried with BASS_StreamFree and the result isthe same.
Could it be a problem with ALSA drivers? Maybe BASS required some config different...
Does the noise sound like a short piece of sound repeating? If so, perhaps the ALSA driver is repeating the output buffer instead of stopping when it's empty. Here's an update (softfp) with a little modification for you to try...
www.un4seen.com/stuff/libbass.so
Let me know whether it makes any difference. Also, if you can make a recording of the noise, please do so.
OK, I'm now confused. I have a small app running on my RPi (hardfp) which works well. It receives (over a TCP socket) a playlist, which it then proceeds to play. I have my own windows player (written with BASS of course!) which sends it the playlist.
However, there are some MP3 files that the ARM player won't load, which give me error 41 (unsupported file format), which work fine on the PC. I am specifying BASS_STREAM_PRESCAN, although if I don't it makes no difference. The files are 192kbps encoded, fixed (and were encoded using LAME).
Since the file plays in Windows I'm guessing there isn't too much wrong with it. Is there anything I can do to further diagnose my problem?
Are you using the standard BASS library version or the "mp3-free" version? If the latter, please try the former. If you still have the problem, please upload one of the affected files to have a look at here...
ftp.un4seen.com/incoming/
Also, just to be clear, are you only sending a list of filenames to the device or are you sending the files too? If the latter, what happens if you place the troublesome files on the device in advance, and pass them to BASS_StreamCreateFile? Also, to confirm that the files are fine, is other software on the device able to play them?
YESSSS!!!!
www.un4seen.com/stuff/libbass.soRun perfect, without any noise between songs!!!! Thanks very much!!!
This is our code:
Can't u take a look, and give us if there is any best way to use BASS better?
//BassNet.Registration("your email", "your regkey");
BassNet.Registration("xxxxxxx,xxxxxxxx"); if(_info == null)
_info = Bass.BASS_GetInfo();
//LogsFromPlayer.WriteLog(0,_info.ToString());
if (Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_DEFAULT, System.IntPtr.Zero))
{
_info = Bass.BASS_GetInfo();
_deviceLatencyMS = _info.latency;
LogsFromPlayer.WriteLog(0,string.Format("Info :{0}", _info.ToString()));
LogsFromPlayer.WriteLog(0,string.Format("DeviceLantecy :{0}",_deviceLatencyMS.ToString()));
}
else
if(Bass.BASS_ErrorGetCode().ToString() != "BASS_ERROR_ALREADY")
LogsFromPlayer.ErrorLog(0, "Bass_Init error!");
//MessageBox.Show(this, "Bass_Init error!");
// BassFx.BASS_FX_GetVersion();
// create a secure timer
if (_updateTimer == null)
{
_updateTimer = new Un4seen.Bass.BASSTimer(_updateInterval);
_updateTimer.Tick += new EventHandler(timerUpdate_Tick);
_updateTimer.Start();
}
public override bool play()
{
BassNet.Registration(...);
base.play();
//_updateTimer.Stop();
try
{
if (!InTransaction)
{
InTransaction = true;
// create a stream channel from a file
_stream = Bass.BASS_StreamCreateFile(_filePathTemaAReproducir, 0L, 0L, BASSFlag.BASS_DEFAULT);
if (_stream != 0 && Bass.BASS_ChannelPlay(_stream, false))
{
// render wave form (this is done in a background thread, so that we already play the channel in parallel)
LogsFromPlayer.WriteLog(0, "Play. FilePath = " + Path.GetFileName(_filePathTemaAReproducir));
Bass.BASS_SetVolume((_volume / 100.0f));
}
else
{
//Console.WriteLine("Error = {0}", Bass.BASS_ErrorGetCode());
LogsFromPlayer.WriteLog(0, string.Format("Stream error: {0}", Bass.BASS_ErrorGetCode()));
}
InsertarTemasReproducidos(_actualTema);
}
else
{
LogsFromPlayer.WriteLog(0,"Siguiente canción esperando. La anterior aún esta sonando.");
}
_playing = true;
this._playing = true;
}
catch (Exception ex)
{
LogsFromPlayer.ErrorLog(0,"Play Audio: " + ex.Message);
}
return true;
}[/i][/b]