إدارة الصوت في العروض التقديمية على Android
إنشاء إطارات صوتية
Aspose.Slides for Android via Java يسمح لك بإضافة ملفات صوتية إلى الشرائح. تُضمّن ملفات الصوت في الشرائح كإطارات صوتية.
- إنشاء كائن من الفئة Presentation.
- الحصول على مرجع الشريحة عبر الفهرس الخاص بها.
- تحميل تدفق ملف الصوت الذي تريد تضمينه في الشريحة.
- إضافة إطار الصوت المضمّن (الذي يحتوي على ملف الصوت) إلى الشريحة.
- ضبط PlayMode و
Volumeالمعروضين بواسطة كائن IAudioFrame. - حفظ العرض التقديمي المعدّل.
هذا الكود Java يوضح كيفية إضافة إطار صوت مضمّن إلى شريحة:
// ينشئ فئة Presentation التي تمثل ملف عرض تقديمي
Presentation pres = new Presentation();
try {
// يحصل على الشريحة الأولى
ISlide sld = pres.getSlides().get_Item(0);
// يحمل ملف الصوت wav إلى تدفق
FileInputStream fstr = new FileInputStream(new File("audio.wav"));
// يضيف إطار الصوت
IAudioFrame audioFrame = sld.getShapes().addAudioFrameEmbedded(50, 150, 100, 100, fstr);
fstr.close();
// يحدد وضع التشغيل ومستوى الصوت للإطار الصوتي
audioFrame.setPlayMode(AudioPlayModePreset.Auto);
audioFrame.setVolume(AudioVolumeMode.Loud);
// يكتب ملف PowerPoint إلى القرص
pres.save("AudioFrameEmbed_out.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
if (pres != null) pres.dispose();
}
تغيير الصورة المصغرة لإطار الصوت
عند إضافة ملف صوت إلى عرض تقديمي، يظهر الصوت كإطار بصورة افتراضية قياسية (انظر الصورة في القسم أدناه). يمكنك تغيير الصورة المصغرة لإطار الصوت (تعيين الصورة التي تفضلها).
هذا الكود Java يوضح كيفية تغيير الصورة المصغرة أو صورة المعاينة لإطار الصوت:
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
// يضيف إطار صوتي إلى الشريحة بموقع وحجم محددين.
FileInputStream audioStream = new FileInputStream("sample2.mp3");
IAudioFrame audioFrame = slide.getShapes().addAudioFrameEmbedded(150, 100, 50, 50, audioStream);
audioStream.close();
// يضيف صورة إلى موارد العرض التقديمي.
IPPImage picture;
IImage image = Images.fromFile("eagle.jpeg");
try {
picture = presentation.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
// يضبط الصورة لإطار الصوت. // <-----
// يحفظ العرض المعدل إلى القرص
presentation.save("example_out.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
if (presentation != null) presentation.dispose();
}
تغيير خيارات تشغيل الصوت
Aspose.Slides for Android via Java يسمح لك بتغيير الخيارات التي تتحكم في تشغيل الصوت أو خصائصه. على سبيل المثال، يمكنك تعديل مستوى صوت الصوت، ضبط تشغيل الصوت على حلقة، أو حتى إخفاء أيقونة الصوت.
لوحة Audio Options في Microsoft PowerPoint:

Audio Options في PowerPoint التي تتطابق مع خصائص Aspose.Slides AudioFrame هي:
- القائمة المنسدلة Start تتطابق مع خاصية AudioFrame.PlayMode
- Volume تتطابق مع خاصية AudioFrame.Volume
- Play Across Slides تتطابق مع خاصية AudioFrame.PlayAcrossSlides
- Loop until Stopped تتطابق مع خاصية AudioFrame.PlayLoopMode
- Hide During Show تتطابق مع خاصية AudioFrame.HideAtShowing
- Rewind after Playing تتطابق مع خاصية AudioFrame.RewindAudio
خيارات Editing في PowerPoint التي تتطابق مع خصائص Aspose.Slides AudioFrame هي:
- Fade In تتطابق مع خاصية AudioFrame.FadeInDuration
- Fade Out تتطابق مع خاصية AudioFrame.FadeOutDuration
- Trim Audio Start Time تتطابق مع خاصية AudioFrame.TrimFromStart
- قيمة Trim Audio End Time تساوي مدة الصوت مطروحاً منها قيمة خاصية AudioFrame.TrimFromEnd
متحكم Volume في لوحة التحكم الصوتية في PowerPoint يتطابق مع خاصية AudioFrame.VolumeValue، ويتيح لك تعديل مستوى الصوت كنسبة مئوية.
إليك كيفية تغيير خيارات تشغيل الصوت:
- Create أو الحصول على إطار الصوت.
- ضبط القيم الجديدة لخصائص إطار الصوت التي تريد تعديلها.
- حفظ ملف PowerPoint المعدّل.
هذا الكود Java يوضح عملية تعديل خيارات الصوت:
Presentation pres = new Presentation("AudioFrameEmbed_out.pptx");
try {
// يحصل على شكل AudioFrame
AudioFrame audioFrame = (AudioFrame)pres.getSlides().get_Item(0).getShapes().get_Item(0);
// يحدد وضع التشغيل لتشغيله عند النقر
audioFrame.setPlayMode(AudioPlayModePreset.OnClick);
// يحدد مستوى الصوت إلى منخفض
audioFrame.setVolume(AudioVolumeMode.Low);
// يحدد تشغيل الصوت عبر الشرائح
audioFrame.setPlayAcrossSlides(true);
// يعطل التكرار للصوت
audioFrame.setPlayLoopMode(false);
// يخفى إطار الصوت أثناء عرض الشرائح
audioFrame.setHideAtShowing(true);
// يعيد الصوت إلى البداية بعد التشغيل
audioFrame.setRewindAudio(true);
// يحفظ ملف PowerPoint إلى القرص
pres.save("AudioFrameEmbed_changed.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
هذا المثال Java يوضح كيفية إضافة إطار صوت جديد مع صوت مضمّن، قصه، وتعيين مدة التلاشي:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
FileInputStream audioData = new FileInputStream("sampleaudio.mp3");
IAudio audio = pres.getAudios().addAudio(audioData, LoadingStreamBehavior.KeepLocked);
IAudioFrame audioFrame = slide.getShapes().addAudioFrameEmbedded(50, 50, 100, 100, audio);
// يحدد إزاحة بداية القص إلى 1.5 ثانية
// يحدد إزاحة نهاية القص إلى 2 ثانية
// يحدد مدة الفيد إن إلى 200 مللي ثانية
// يحدد مدة الفيد آوت إلى 500 مللي ثانية
pres.save("AudioFrameTrimFade_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
العينة البرمجية التالية توضح كيفية استرجاع إطار صوت مضمّن وتعيين مستوى صوته إلى 85%:
Presentation pres = new Presentation("AudioFrameEmbed_out.pptx");
try {
ISlide slide = pres.getSlides().get_Item(0);
// يحصل على شكل إطار صوتي
IAudioFrame audioFrame = (IAudioFrame)slide.getShapes().get_Item(0);
// يضبط مستوى الصوت إلى 85%
audioFrame.setVolumeValue(85f);
pres.save("AudioFrameValue_out.pptx", SaveFormat.Pptx);
}
finally {
pres.dispose();
}
استخراج الصوت
Aspose.Slides for Android via Java يسمح لك باستخراج الصوت المستخدم في انتقالات عرض الشرائح. على سبيل المثال، يمكنك استخراج الصوت المستخدم في شريحة معينة.
- إنشاء كائن من الفئة Presentation وتحميل العرض التقديمي الذي يحتوي على الصوت.
- الحصول على مرجع الشريحة ذات الصلة عبر فهرسها.
- الوصول إلى slideshow transitions للشريحة.
- استخراج الصوت كبيانات بايت.
هذا الكود Java يوضح كيفية استخراج الصوت المستخدم في شريحة:
// ينشئ كائن من فئة Presentation التي تمثل ملف عرض تقديمي
Presentation pres = new Presentation("AudioSlide.pptx");
try {
// يصل إلى الشريحة المطلوبة
ISlide slide = pres.getSlides().get_Item(0);
// يحصل على تأثيرات انتقال العرض التقديمي للشريحة
ISlideShowTransition transition = slide.getSlideShowTransition();
//يستخرج الصوت في مصفوفة بايت
byte[] audio = transition.getSound().getBinaryData();
System.out.println("Length: " + audio.length);
} finally {
if (pres != null) pres.dispose();
}
الأسئلة الشائعة
هل يمكنني إعادة استخدام نفس ملف الصوت عبر شرائح متعددة دون زيادة حجم الملف؟
نعم. أضف الصوت مرة واحدة إلى مجموعة الصوت المشتركة في العرض التقديمي ثم أنشئ أطر صوت إضافية تشير إلى هذا الأصل الموجود. هذا يجنّب تكرار بيانات الوسائط ويحافظ على حجم العرض تحت السيطرة.
هل يمكنني استبدال الصوت في إطار صوت موجود دون إعادة إنشاء الشكل؟
نعم. بالنسبة للصوت المرتبط، حدّث link path ليشير إلى الملف الجديد. بالنسبة للصوت المضمن، استبدل كائن embedded audio بآخر من مجموعة الصوت في العرض التقديمي. يظل تنسيق الإطار ومعظم إعدادات التشغيل كما هو.
هل يغيّر القص البيانات الصوتية الأساسية المخزنة في العرض التقديمي؟
لا. يضبط القص حدود التشغيل فقط. تبقى بايتات الصوت الأصلية دون تعديل ويمكن الوصول إليها من خلال الصوت المضمن أو مجموعة الصوت في العرض التقديمي.