PDA

View Full Version : سوال: خواندن فایل با fileStream



vaheeed
دوشنبه 02 بهمن 1391, 11:20 صبح
سلام
یه فایل صوتی رو با فایل استریم خوندم و بعد با دستور ReadByte بایت به بایت خوندم تا یه جایی درست میخونه ولی بعد عدد 1- رو برمیگردونه ! وقتی بایت رو میخونه به عدد تبدیل میکنه که بصورت علامت دار نمیخونه درسته ؟؟ پس چجوری 1- رو برمیگردونه !!!

danialafshari
دوشنبه 02 بهمن 1391, 12:05 عصر
سلام
با این تابع می تونی آهنگتو پخش کنی :
private string _command;
private bool isOpen;
[DllImport("winmm.dll")]

private static extern long mciSendString(string strCommand, StringBuilder strReturn, int iReturnLength, IntPtr hwndCallback);

public void Close()
{
_command = "close MediaFile";
mciSendString(_command, null, 0, IntPtr.Zero);
isOpen = false;
}

public void Open(string sFileName)
{
_command = "open \"" + sFileName + "\" type mpegvideo alias MediaFile";
mciSendString(_command, null, 0, IntPtr.Zero);
isOpen = true;
}

public void Play(bool loop)
{
if (isOpen)
{
_command = "play MediaFile";
if (loop)
_command += " REPEAT";
mciSendString(_command, null, 0, IntPtr.Zero);
}
}
موفق باشی

vaheeed
دوشنبه 02 بهمن 1391, 13:06 عصر
ممنون ولی من مشکلی در پخش ندارم سوالم اینکه چرا بایت به بایت که فایل رو میخونم از یه جایی به بعد عدد 1- رو بر میگردونه ؟؟؟

plus
دوشنبه 02 بهمن 1391, 13:08 عصر
سلام
یه فایل صوتی رو با فایل استریم خوندم و بعد با دستور ReadByte بایت به بایت خوندم تا یه جایی درست میخونه ولی بعد عدد 1- رو برمیگردونه ! وقتی بایت رو میخونه به عدد تبدیل میکنه که بصورت علامت دار نمیخونه درسته ؟؟ پس چجوری 1- رو برمیگردونه !!!

شما به آخر فایل رسیدین:

Return Value
Type: System.Int32
The byte, cast to an Int32, or -1 if the end of the stream has been reached.