PDA

View Full Version : سوال: گرفتن و تغییر خواص details یک فایل



andaron
دوشنبه 07 فروردین 1391, 13:46 عصر
سلام دوستان

من می خوام بتونم تو برنامه ام خواص Details یک فایل صوتی رو هم بخونم و هم تغییر بدم برای همین جستجو کردم و سورس برنامه زیر رو پیدا کردم
http://www.codeproject.com/Articles/7987/Retrieve-detailed-information-of-a-File

ولی مشکل اینجاست که اطلاعات رو غلط می خونه چونه من مثلا خاصیت title فایل رو به صورت دستی تغییر می دم و لی تو این برنامه این قسمت رو اشتباهی می خونه یعنی اون چیزی نیست که باید باشه
با تشکر

andaron
سه شنبه 08 فروردین 1391, 12:56 عصر
کسی از دوستان نبود

amirrr3
سه شنبه 08 فروردین 1391, 17:56 عصر
دوست عزیز من تست کردم هیچ مشکلی نداره شاید شما کد رو تغییر دادی

andaron
چهارشنبه 09 فروردین 1391, 00:12 صبح
سلام دوست عزیز

من هیچ دستکاری نکردم
وقتی خاصیت title فایل رو تغییر می دهم بر نامه به طور اشتباه owner را می نویسه یا وقتی یک فایل موسیقی را با برنامه باز می کنم در خاصیت cooment به طور اشتباه album رو براش می نویسه
ابته اینم بگک من فقط می خوام کار رو بر روی فایل های صوتی انجام دهم برای همین خیلی برام مهمه که درست نوشته شوند
یه سوال این حالا چطور بتونم این خاصیت ها رو تغییر بدهم
.......................
راستی من می خوام بتونم خاصیت هایی چون album , title,copyright رو می خوام هم بخونم و هم اتونم تغییر بدم ولی در برنامه بالا وجود نداشتند این موارد مروبوط به فایل صوتی هستند

andaron
چهارشنبه 09 فروردین 1391, 13:42 عصر
..............................................

amirrr3
چهارشنبه 09 فروردین 1391, 18:34 عصر
بفرما داداش
یه کلاس توپ واسه خوندن و نوشتن تگ mp3
http://up98.org/upload/server1/02/g/xuc6edr0n8c1hftjo12.rar

کلاس رو به پروژت اضافه کن و با کد زیر می تونی هم بخونی هم بنویسی


Tagger myTagger = new Tagger("C:\\test.mp3");
myTagger.Artist = "me";
myTagger.Album = "i dont know";
myTagger.WriteID3v11();


در ضمن هر وقت خواستی مثلا تایتل یه فایل رو عوض کنی اول باید پاکش کنی بعد رایت کنی
موفق باشی

dr-delphi
چهارشنبه 09 فروردین 1391, 18:52 عصر
http://stackoverflow.com/questions/68283/view-edit-id3-data-for-mp3-files
این لینک کارت رو راه میندازه.

andaron
جمعه 11 فروردین 1391, 19:28 عصر
بفرما داداش
یه کلاس توپ واسه خوندن و نوشتن تگ mp3
http://up98.org/upload/server1/02/g/xuc6edr0n8c1hftjo12.rar

کلاس رو به پروژت اضافه کن و با کد زیر می تونی هم بخونی هم بنویسی


Tagger myTagger = new Tagger("C:\\test.mp3");
myTagger.Artist = "me";
myTagger.Album = "i dont know";
myTagger.WriteID3v11();


در ضمن هر وقت خواستی مثلا تایتل یه فایل رو عوض کنی اول باید پاکش کنی بعد رایت کنی
موفق باشی


سلام دوست عزیز

من با استفاده از این کلاس تونستم به ظاهر خاصیت title رو عوض کنم که البته بلد نبودن با این کلاس شما اطلاعات رو بخونم برای همین روشی که دوست عزیزمون dr-delphi
استفاده کردم برای خوندن که موفق شدم هم بخونم و هم اطلاعات را بنوسم حالا یه مشکل اینکه وقتی روی فایل mp3 کلیک راست می کنم و اطلاعات نمایش داده میشه می بینم که همون tile قبلی روش هستش یعنی وقتی من با برنامه کار می کنم راحت اطلاعات ذخیره میشه و لی فایل اصلی هیچ تغییر نمی کنه ؟
حالا باید چه کار کنم؟
با تشکر

andaron
جمعه 11 فروردین 1391, 19:53 عصر
دوستان سلام
مشکل نرم افزار رو تا حدی فهمیدم اینکه برای برای نوشتن کد از دستور زیر استفاده می کنم.
Tagger t = new Tagger(@"K:\f\soutollmeskin 01.mp3");
t.Title = "";

t.Title = "nkn";
t.Album = "";
t.Album = "mohammad";
t.WriteID3v11();

که مشکلاتی که در تاپیک بالا گفتم رو داره .
اما مشل رو اینطوری حل کردم که من ابتدا به صورت دستی یعنی راست کلیک می کنم رو فایل و خاصیت title رو پاک می کنم یعنی هیچ چیزی نوشته نشده باشه با این کار دیگه همه چیز درست میشه
اما من نمی خوام به صورت دستی همیشه این کار رو بکمک الان باید چه کار کنم؟

andaron
دوشنبه 14 فروردین 1391, 14:26 عصر
دوستان کمک کنند

andaron
سه شنبه 30 خرداد 1391, 10:33 صبح
دوستان من نتونستم مشکل رو حل کنم

Saeed_m_Farid
سه شنبه 30 خرداد 1391, 14:56 عصر
دوستان من نتونستم مشکل رو حل کنم
مشکل چیه؟ آخه چیز پیچیده ای نیست که! از اینجا (http://download.banshee.fm/taglib-sharp/) آخرین نسخه رو برمیداری؟ یه dll هست (الان نسخه اش 2.0.4.0 هست) اضافه اش میکنی به پروژه ات؛ شاید درست Save نمیکنی، کد زیر رو امتحان کن ببین حل نمیشه؟
private void button1_Click(object sender, EventArgs e)
{
TagLib.File file = TagLib.File.Create(@"D:\Music\test.mp3");
addTag(file.Tag.Album);
addTag(file.Tag.Title);
addTag(file.Tag.FirstGenre);
file.Tag.Album = "Test1";
file.Tag.Title = "Test2";
file.Tag.Genres[0] = "Test3";
file.Save();
addTag("********************");
addTag(file.Tag.Album);
addTag(file.Tag.Title);
addTag(file.Tag.FirstGenre);
}

andaron
سه شنبه 30 خرداد 1391, 17:33 عصر
سلام دوست عزیز

شرمنده ولی این نسخه ایی که شما گفتید رفتم داخلش هزار تا فایل دیگه هم بود اگر می شود لینک dll رو جدا ضمیمه کنید تا بتون بردارم

Saeed_m_Farid
سه شنبه 30 خرداد 1391, 21:53 عصر
این نسخه ایی که شما گفتید رفتم داخلش هزار تا فایل دیگه هم بود اگر می شود لینک dll رو جدا ضمیمه کنید تا بتون بردارم
:لبخند:
از اون هزار تا فایل! بیشترشون مربوط به سورس هستند و اگه برای شما فقط dll کافیه، بعد از دانلود آخرین نسخه (تا این لحظه این لینک (http://download.banshee.fm/taglib-sharp/2.0.4.0/taglib-sharp-2.0.4.0-windows.zip)) فایل رو از مسیر زیر:

taglib-sharp-2.0.4.0-windows\Libraries\taglib-sharp.dll بردارین و با پوشه src کاری نداشته باشین؛ ولی از من می شنوین، یه نگاهی داخل سورس هم بندازید! مفیده ولی ضروری نیست، می تونید فقط dll رو کپی کنید کنار برنامه و بقیه رو delete کنید!
الان به پست قبلی ام هم نگاه کردم، تابع addTag رو شما می تونید با مثلاً Console.WriteLine یا هر چیزی برای نمایش عوض کنید؛ من با این تابع به محتویات اون چیزی که به تابع پاس داده میشد نگاه میکنم و اگه null یا رشته خالی نبود به یه ListBox اضافه میکنم؛ اینو گفتم اگه یه وقت خواستین از مثال استفاده کنید، فکر نکنین چه چیز عجایب غرائبی هست و بعداً براتون سوال نشه ...
موفق باشید.