قص الصوت حسب التوقيت
بداية عند 30.5 ثانية ونهاية عند 95.25 تعطيان مقطعًا مدته 64.75 ثانية، بعد التحقق منه مقابل تسجيل مدته 245.75 ثانية. وتُرفض الأوقات المعكوسة أو الخارجة عن المدى ولا تُصحح خفية. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- المدة (ث)
- 245.75
- ثانية البداية
- 30.5
- ثانية النهاية
- 95.25
- مدة المقطع (ثوانٍ)
- 64.75
يتطلب قص الصوت بحسب التوقيت فحصاً بسيطاً ودقيقاً قبل بدء المعالجة. أدخلوا المدة الكلية للصوت ووقتي البداية والنهاية بالثواني، فتتحقق الأداة من وقوع النطاق داخل التسجيل وتحسب مدة المقطع بدقة. ترفض الأداة نهاية تسبق البداية، وأي توقيت يتجاوز طول الصوت، والأعداد السالبة، والحقول الناقصة، والقيم غير المنتهية. لا يُرفع أي ملف صوتي ولا يُعدّل؛ فالنتيجة حساب حتمي يمكن استخدامه لإعداد أمر تحرير، أو التحقق من نموذج إدخال، أو مراجعة حدود الفصول، أو اختبار مسار لمعالجة الوسائط قبل تشغيل عملية مرتفعة التكلفة.
حددوا نطاق القص بالثواني
يتكون نطاق القص من ثلاث معلومات مستقلة: المدة الكلية للصوت المصدر، والموضع الذي يبدأ عنده التحديد، والموضع الذي ينتهي عنده. تستخدم هذه الحاسبة الثواني للقيم الثلاث، فلا يحدث تحويل خفي بين صيغة الساعة أو العينات أو الإطارات أو أجزاء الألف من الثانية. وتُقبل كسور الثانية، لذلك تصلح قيمة مثل 12.5 لقص الكلام وغيره من المواضع التي لا توافق ثانية كاملة.
يُقاس وقت البداية من أول التسجيل، حيث تمثل القيمة صفر اللحظة الأولى. ويُقاس وقت النهاية من المرجع نفسه، ولا يُفسر على أنه المدة المطلوبة. بعد اجتياز التحقق، تساوي مدة المقطع وقت النهاية ناقص وقت البداية.
فمثلاً، تنتج البداية 30.5 والنهاية 95.25 مقطعاً مدته 64.75 ثانية. لا تدخل المدة الكلية في عملية الطرح، بل تحدد الحد الأعلى الذي يثبت إمكان وجود التوقيتين في المصدر. ويمكن أن تتساوى البداية والنهاية، فتكون النتيجة نطاقاً مدته صفر ثانية؛ وهذا مفيد عند التحقق من مقابض تحديد تفاعلية قبل أن تفرض مرحلة لاحقة مقطعاً غير فارغ.
يجب أن تكون جميع القيم منتهية وغير سالبة وألا تتجاوز الحد الأقصى المنشور.
افهموا سبب كل خطأ في التحقق
يُفحص النطاق قبل إرجاع المدة، لأن عملية طرح تبدو معقولة قد تخفي تعديلاً مستحيلاً. يجب أن يحتوي كل حقل مطلوب على عدد منتهٍ وغير سالب. تُرفض الثواني السالبة وInfinity وNaN والنصوص الفارغة والأوقات المنسقة بدلاً من تخمين المقصود منها.
لا يجوز أن تتجاوز البداية المدة الكلية؛ فتسجيل مدته خمس دقائق لا يتضمن نقطة بداية صحيحة في الدقيقة السادسة. ولا يجوز أن تسبق النهاية البداية، لأن ذلك يصف نطاقاً معكوساً وينتج مدة سالبة. كذلك لا يجوز أن تتجاوز النهاية المدة الكلية حتى لو كانت البداية صحيحة.
أما مساواة النهاية لمدة المصدر فمسموح بها، وتعني أن المقطع يمتد حتى آخر لحظة. إذا احتوى الإدخال على أكثر من مشكلة، فصححوا الخطأ المعروض ثم أعيدوا الإرسال؛ إذ يضمن ترتيب التحقق الحتمي ظهور المشكلة الأولى نفسها للمدخلات نفسها. لا تضبط الأداة القيم إلى الحدود تلقائياً، ولا تبدل الطرفين، ولا تستخدم القيمة المطلقة، لأن هذه الاختصارات قد تعتمد قصاً لم تطلبوه.
استخدموا النتيجة قبل معالجة الصوت
ويسهل إبقاء المدخلات المعيارية بجوار القيمة المحسوبة تسجيل الاستجابة ومراجعتها ومقارنتها بطلب التحرير. يمكن لنموذج ويب إعادة الحساب عند تحريك أي مقبض للقص وعرض طول التحديد فوراً. ويمكن للخادم إجراء الفحص نفسه قبل مهمة FFmpeg ورفض نطاق مستحيل من دون حجز موارد لمعالجة الوسائط.
كما تفيد الأداة في اختبارات الفصول ومقتطفات البودكاست والملاحظات الصوتية ومقاطع التفريغ النصي ونقاط الإشارة. ولأن الخوارزمية لا تفعل سوى التحقق والطرح، فهي لا تفتح ملفاً، ولا تتأكد من مطابقة المدة المدخلة للوسيط الفعلي، ولا تراعي دقة الانتقال في برنامج الترميز، ولا تحاذي الحدود مع العينات، ولا تنشئ ملفاً صوتياً جديداً. تنتمي هذه المهام إلى مرحلة معالجة صوت لاحقة.
احتفظوا بالثواني كأعداد داخلياً، ولا تنسقوها إلى دقائق وثوانٍ إلا عند العرض لتجنب غموض التحليل.
حالات الاستخدام
التحقق من تحديد داخل محرر
قارنوا توقيتي مقبضي التحديد بمدة المصدر واعرضوا الطول الدقيق قبل السماح بالتصدير.
حماية مهمة لمعالجة الصوت
ارفضوا القيم المعكوسة أو الخارجة عن الحدود قبل أن ينزل FFmpeg المصدر أو يفك ترميزه.
مراجعة الفصول والتفريغ النصي
تأكدوا من وقوع حدود المقتطفات والفصول داخل التسجيل واحسبوا مدة كل مقطع.
الأسئلة الشائعة
هل ترفع الأداة ملفي الصوتي أو تعدله؟
لا. تتحقق الأداة من توقيتات رقمية وتحسب مدة فقط؛ ولا تستقبل ملفاً صوتياً أو تفحصه أو تعدله.
ما الوحدة التي ينبغي استخدامها؟
أدخلوا المدة الكلية والبداية والنهاية بالثواني. وتسمح القيم العشرية بدقة أقل من ثانية واحدة.
هل يمكن أن تساوي النهاية المدة الكلية؟
نعم. يمثل ذلك مقطعاً يستمر حتى نهاية الصوت المصدر.
ماذا يحدث إذا تساوت البداية والنهاية؟
ويمكن لمرحلة تحرير لاحقة فرض حد أدنى للمدة.
لماذا تُرفض الأوقات المعكوسة أو الخارجة عن المدى بدل تصحيحها؟
لأن ضبط الوقت خفيةً على نهاية الملف أو تبديل البداية بالنهاية أو تجاهل إشارة السالب قد يوافق على قص لم تقصده قط. ستتلقى رفضًا واضحًا لتصحح الخطأ الحقيقي.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/audio/trim-by-timestamp \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration_seconds":245.75,"start_seconds":30.5,"end_seconds":95.25}'const res = await fetch("https://api.kit.forhosting.com/audio/trim-by-timestamp", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration_seconds": 245.75,
"start_seconds": 30.5,
"end_seconds": 95.25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/trim-by-timestamp",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration_seconds": 245.75,
"start_seconds": 30.5,
"end_seconds": 95.25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/trim-by-timestamp", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration_seconds":245.75,"start_seconds":30.5,"end_seconds":95.25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration_seconds":245.75,"start_seconds":30.5,"end_seconds":95.25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/trim-by-timestamp", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"duration_seconds": 245.75,
"start_seconds": 30.5,
"end_seconds": 95.25
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.trim_by_timestamp",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_duration_seconds | 3155760000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
افهموا سبب كل خطأ في التحقق
تفصل الأداة بين هذه القواعد كي يتلقى عميل API رسالة invalid_input مفيدة تحدد العلاقة الخاطئة.
استخدموا النتيجة قبل معالجة الصوت
تعيد الاستجابة الناجحة المدة الكلية ووقتي البداية والنهاية بعد التحقق، ثم تضيف clip_duration_seconds. لا يستخدم الحساب الشبكة أو ساعة النظام أو العشوائية أو حالة مخزنة، ولذلك يعطي المتصفح وواجهة API النتيجة نفسها. الاستخدام في المتصفح مجاني، وتبلغ كلفة طلب API الواحد $0.002.
أسئلة تقنية
كم تبلغ كلفة الحساب عبر API؟
تبلغ كلفة كل طلب API ناجح $0.002. التشغيل في المتصفح مجاني، ولا تُحتسب الطلبات غير الصحيحة.