الصفحات. دار نشر تحيا مصر 🇪🇬للإبداع. اصدارات الكترونيه

أعلان الهيدر.

الأحد، 28 يونيو 2026

 

name: samir_sharawid_studio description: ستوديو سمير شراويد - المحرك الصوتي الاحترافي للأدب والإبداع publish_to: 'none' version: 1.0.0+1 environment: sdk: '>=3.4.0 <4.0.0' dependencies: flutter: sdk: flutter # ✅ الواجهة والتصميم google_fonts: ^6.2.1 # الخط العربي القاهرة مباشرة flutter_svg: ^2.0.10+1 # ✅ الصوت: تسجيل - تشغيل - معالجة flutter_sound: ^9.16.0 just_audio: ^0.9.40 audio_session: ^0.1.21 ffmpeg_kit_flutter_full: ^6.0.3 # قص/دمج/تصدير MP3/WAV/FLAC # ✅ نص ↔ صوت + ذكاء اصطناعي google_generative_ai: ^0.4.6 # تحسين النص بالذكاء googleapis: ^13.2.0 elevenlabs: ^0.3.2 # أفضل جودة صوت عربي احترافي # ✅ قاعدة بيانات وتخزين سحابي firebase_core: ^3.4.0 firebase_storage: ^12.3.0 cloud_firestore: ^5.4.0 shared_preferences: ^2.3.2 # ✅ أدوات النظام وأذونات permission_handler: ^11.3.1 path_provider: ^2.1.4 url_launcher: ^6.3.0 share_plus: ^10.0.2 package_info_plus: ^8.0.2 # ✅ أيقونات وشاشة البداية الأصلية flutter_launcher_icons: ^0.14.1 flutter_native_splash: ^2.4.1 dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^4.0.0 flutter: uses-material-design: true fonts: - family: Cairo fonts: - asset: assets/fonts/Cairo-Regular.ttf - asset: assets/fonts/Cairo-Bold.ttf weight: 700 - asset: assets/fonts/Cairo-Black.ttf weight: 900 assets: - assets/ - assets/fonts/ - assets/icons/ - assets/images/ 📌 وصف المشروع بالكامل اسم التطبيق: ستوديو سمير شراويد – المحرك الصوتي الاحترافي للأدب والإبداع التصميم: واجهة داكنة فاخرة  #000000  مع لون ذهبي لامع  #D4AF37 / #FFD700 ، خطوط عربية حديثة، أيقونات ذهبية، تأثيرات لامعة وشفافية الوظائف الأساسية: - تحويل نص إلى صوت عربي احترافي بلهجات متعددة ​ - تسجيل وتعديل الصوت مباشرة داخل التطبيق ​ - إنتاج كتب صوتية، بودكاست، ومخطوطات صوتية ​ - مكتبة أصوات ونغمات ومؤثرات صوتية ​ - تصدير بجودة عالية MP3 / WAV / FLAC ​ - حفظ المشاريع ومشاركتها   ⚙️ التقنيات التي سنستخدمها نختار التقنيات التي تعمل بنفس الكود على أندرويد وآيفون معاً، وتدعم العربية والتصميم الفاخر: الجدول الجزء التقنية السبب الواجهة والتطبيق Flutter 3.22+ أداء عالي، تصميم مرن، يعمل على منصتين بنفس الوقت الخلفية Node.js + PostgreSQL سريع، يدعم عمليات الصوت بكفاءة تحويل نص لصوت Google TTS / ElevenLabs API أفضل جودة صوت عربي ولهجات معالجة الصوت FFmpeg + SoundStream قص، دمج، تعديل، تصدير بجودة عالية التخزين Firebase Storage / AWS S3 حفظ ملفات الصوت والمشاريع الدفع Paymob / MyFatoorah مناسبة لسوق مصر والعالم العربي   📱 هيكل جميع شاشات التطبيق مطابقة للصورة 1. شاشة البداية: شعار الميكروفون والريشة الذهبي + شعار التطبيق + شريط التحميل ​ 2. اختر اللهجة: مصرية – فصحى – سعودية – شامية + زر عرض جميع اللهجات ​ 3. فلتر التخصيص: سرعة، نبرة، صوت، نوع الصوت، إعلان، قصص، توثيق، تعليمي، إخباري + زر عرض الأصوات ​ 4. معرض النخب الصوتية: قائمة أشخاص كل واحد اسمه ووصف وزر تشغيل معاينة ​ 5. غرفة التحكم 1: درجة الصوت، مستوى الانفعال، سرعة الإلقاء، عمق النبرة ​ 6. غرفة التحكم 2: طبيعة الصوت، شدة التأثير الدرامي، الغرض من الصوت ​ 7. شاشة التسجيل: زر ميكروفون كبير ذهبي، تثبيت الصوت، بصمة الصوت، توليد صوت تلقائي ​ 8. هندسة النص والمخطوطة: مربع كتابة النص، زر تحسين النص ذكاء اصطناعي، معاينة المخطوطة النهائية ​ 9. أدوات الإنتاج الرئيسية: ​ - 🎧 استوديو الكتب الصوتية ​ - 🎙️ استوديو البودكاست ​ - 📄 استوديو المخطوطات ​ 10. القائمة السفلية: مؤثرات صوتية – المكساج – استماع – تصدير – إحصائيات – مشاريعي – الإعدادات ​ 11. صفحة التنزيل: أزرار جوجل بلاي وآبل ستور   💻 كود تنفيذي جاهز بالكامل (Flutter) هذا الكود ينشئ لك التصميم بالضبط كما في الصورة، مع جميع الشاشات والتنقل بينها، واللون الذهبي الداكن، والاتجاه من اليمين لليسار للغة العربية. 1. ملف التصميم العام  theme.dart import 'package:flutter/material.dart'; class AppTheme { static const Color black = Color(0xFF000000); static const Color gold = Color(0xFFFFD700); static const Color goldDark = Color(0xFFD4AF37); static const Color goldSoft = Color(0xFFFFE55C); static const Color cardBg = Color(0xFF0A0A0A); static const Color border = Color(0xFF2A2200); static ThemeData arabicGold = ThemeData( brightness: Brightness.dark, scaffoldBackgroundColor: black, primaryColor: gold, fontFamily: 'Cairo', textTheme: const TextTheme( titleLarge: TextStyle(color: gold, fontSize: 28, fontWeight: FontWeight.bold), bodyLarge: TextStyle(color: Colors.white, fontSize: 16), bodyMedium: TextStyle(color: Color(0xFFE5E5E5), fontSize: 14), labelLarge: TextStyle(color: black, fontSize: 16, fontWeight: FontWeight.w600), ), elevatedButtonTheme: ElevatedButtonThemeData( style: ElevatedButton.styleFrom( backgroundColor: gold, foregroundColor: black, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), padding: const EdgeInsets.symmetric(vertical: 14), textStyle: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16), ), ), ); } import 'package:flutter/material.dart'; import 'home_screen.dart'; import '../theme.dart'; class SplashScreen extends StatefulWidget { const SplashScreen({super.key}); @override State createState() => _SplashScreenState(); } class _SplashScreenState extends State { @override void initState() { super.initState(); Future.delayed(const Duration(seconds: 3), () { Navigator.pushReplacement(context, MaterialPageRoute(builder: (_) => const HomeScreen())); }); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppTheme.black, body: Directionality( textDirection: TextDirection.rtl, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Stack( alignment: Alignment.center, children: [ const Icon(Icons.mic, size: 120, color: AppTheme.gold, shadows: [Shadow(color: AppTheme.gold, blurRadius: 30)]), const Positioned(left: 10, bottom: 10, child: Icon(Icons.edit, size: 50, color: AppTheme.goldDark)), Container(width: 160, height: 160, decoration: BoxDecoration(shape: BoxShape.circle, border: Border.all(color: AppTheme.gold.withOpacity(0.3), width: 2))), ], ), const SizedBox(height: 24), const Text("ستوديو سمير شراويد", style: TextStyle(color: AppTheme.gold, fontSize: 32, fontWeight: FontWeight.bold)), const Text("المحرك الصوتي الاحترافي للأدب والإبداع", style: TextStyle(color: Colors.white70, fontSize: 14)), const SizedBox(height: 60), const Padding(padding: EdgeInsets.symmetric(horizontal: 60), child: LinearProgressIndicator(color: AppTheme.gold, backgroundColor: AppTheme.border)), ], ), ), ); } } import 'package:flutter/material.dart'; import '../theme.dart'; import 'filter_screen.dart'; class HomeScreen extends StatelessWidget { const HomeScreen({super.key}); final List dialects = [ {"flag": "🇪🇬", "name": "اللهجة المصرية", "desc": "صوت خفيف سريع الوزن يرتقي مباني اللغة"}, {"flag": "🌍", "name": "الفصحى", "desc": "للنصوص التعليمية والكتب الصوتية"}, {"flag": "🇸🇦", "name": "اللهجة السعودية", "desc": "استوديو ناعم معابر مناسبة للمحتوى الرسمي"}, {"flag": "🇸🇾", "name": "اللهجة الشامية", "desc": "نبرة دافئة مناسبة لمسلسلات والحوارات البرامج"}, ]; @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppTheme.black, appBar: AppBar(backgroundColor: Colors.transparent, elevation: 0, title: const Text("اختر اللهجة", style: TextStyle(color: AppTheme.gold))), body: Directionality( textDirection: TextDirection.rtl, child: Padding( padding: const EdgeInsets.all(16), child: ListView.separated( itemCount: dialects.length, separatorBuilder: (_, i) => const SizedBox(height: 14), itemBuilder: (_, i) => InkWell( onTap: () => Navigator.push(context, MaterialPageRoute(builder: (_) => const FilterScreen())), borderRadius: BorderRadius.circular(16), child: Container( padding: const EdgeInsets.all(16), decoration: BoxDecoration(color: AppTheme.cardBg, borderRadius: BorderRadius.circular(16), border: Border.all(color: AppTheme.border)), child: Row(children: [ Text(dialects[i]["flag"], style: const TextStyle(fontSize: 36)), const SizedBox(width: 14), Expanded(child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(dialects[i]["name"], style: const TextStyle(color: AppTheme.gold, fontSize: 18, fontWeight: FontWeight.bold)), Text(dialects[i]["desc"], style: const TextStyle(color: Colors.white60, fontSize: 12)), ])), const Icon(Icons.arrow_back_ios_new, color: AppTheme.gold), ]), ), ), ), ), ), ); } } المرحلة المدة ما يتم إنجازه 1 3 أيام تصميم واجهات كاملة Figma مطابقة للصورة + أيقونات وشعارات 2 7 أيام برمجة جميع الشاشات والتنقل والتصميم الذهبي الداكن بالكامل 3 5 أيام ربط واجهات بالذكاء الاصطناعي لتحويل نص لصوت + جميع اللهجات 4 4 أيام برمجة التسجيل، تعديل الصوت، الميكسر، المؤثرات، التصدير بجودة عالية 5 3 أيام نظام الحسابات، حفظ المشاريع، السحب، الإعدادات، الدفع 6 3 أيام الاختبار الشامل، إصلاح الأخطاء، تحسين الأداء والجودة 7 2 أيام إعداد صفحات المتاجر، رفع التطبيق على جوجل بلاي وآبل ستور المجموع ≈ 27 يوماً تطبيق جاهز للعمل والاستخدام الفعلي import 'package:flutter/material.dart'; import '../theme.dart'; import 'voices_list_screen.dart'; class FilterScreen extends StatelessWidget { const FilterScreen({super.key}); final options = { "اللفظة العمرية والنمط": ["كبار السن", "بالغ"], "شخصية كرتونية": [], "بصمة الصوت (النوع)": ["أنثى", "ذكر"], "الغرض من الصوت (اختياري)": ["إعلان", "قصص", "توثيق", "تعليمي", "إخباري"], }; @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppTheme.black, appBar: AppBar( backgroundColor: Colors.transparent, elevation: 0, title: const Text("فلاتر التخصيص", style: TextStyle(color: AppTheme.gold)), leading: const BackButton(color: AppTheme.gold), ), body: Directionality( textDirection: TextDirection.rtl, child: SingleChildScrollView( padding: const EdgeInsets.all(16), child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ for (var entry in options.entries) ...[ Text(entry.key, style: const TextStyle(color: Colors.white, fontSize: 15, fontWeight: FontWeight.w600)), const SizedBox(height: 10), Wrap(spacing: 10, runSpacing: 10, children: [ for (var opt in entry.value) Container( padding: const EdgeInsets.symmetric(horizontal: 18, vertical: 8), decoration: BoxDecoration( color: opt == "بالغ" || opt == "ذكر" ? AppTheme.gold : AppTheme.cardBg, borderRadius: BorderRadius.circular(20), border: Border.all(color: AppTheme.border), ), child: Text(opt, style: TextStyle(color: opt == "بالغ" || opt == "ذكر" ? Colors.black : Colors.white70)), ), ]), const SizedBox(height: 22), ], const SizedBox(height: 20), SizedBox( width: double.infinity, child: ElevatedButton( onPressed: () => Navigator.push(context, MaterialPageRoute(builder: (_) => const VoicesListScreen())), child: const Text("عرض الأصوات"), ), ), ]), ), ), ); } } import 'package:flutter/material.dart'; import '../theme.dart'; import 'control_room1_screen.dart'; class VoicesListScreen extends StatelessWidget { const VoicesListScreen({super.key}); final voices = [ {"name": "يوسف", "desc": "وثائقي قوي"}, {"name": "سيف", "desc": "درامي عاطفي"}, {"name": "زيد", "desc": "روايات بارد"}, {"name": "رامي", "desc": "بودكاست هادئ"}, {"name": "مالك", "desc": "إعلاني بريع"}, ]; @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppTheme.black, appBar: AppBar(backgroundColor: Colors.transparent, elevation: 0, title: const Text("معرض النخب الصوتية", style: TextStyle(color: AppTheme.gold)), leading: const BackButton(color: AppTheme.gold)), body: Directionality( textDirection: TextDirection.rtl, child: ListView.separated( padding: const EdgeInsets.all(16), itemCount: voices.length, separatorBuilder: (_,i)=>const SizedBox(height:12), itemBuilder: (_,i)=> InkWell( onTap: ()=>Navigator.push(context, MaterialPageRoute(builder:(_)=>const ControlRoom1Screen())), borderRadius: BorderRadius.circular(14), child: Container( padding: const EdgeInsets.all(14), decoration: BoxDecoration(color: AppTheme.cardBg, borderRadius: BorderRadius.circular(14), border: Border.all(color: AppTheme.border)), child: Row(children: [ const CircleAvatar(radius:24, backgroundColor: AppTheme.goldDark, child: Icon(Icons.person, color:Colors.black)), const SizedBox(width:12), Expanded(child: Column(crossAxisAlignment:CrossAxisAlignment.start, children: [ Text(voices[i]["name"]!, style: const TextStyle(color:AppTheme.gold, fontSize:16, fontWeight:FontWeight.bold)), Text(voices[i]["desc"]!, style: const TextStyle(color:Colors.white60, fontSize:12)), ])), Container(width:40, height:40, decoration: const BoxDecoration(color:AppTheme.gold, shape:BoxShape.circle), child: const Icon(Icons.play_arrow, color:Colors.black)), ]), ), ), ), ), ); } } import 'package:flutter/material.dart'; import '../theme.dart'; import 'control_room2_screen.dart'; class ControlRoom1Screen extends StatelessWidget { const ControlRoom1Screen({super.key}); final items = [ {"title":"درجة عرارة الصوت", "vals":["حاد","متوازن","دافئ"]}, {"title":"مستوى الانفعال", "vals":["شديد","قوي","متوسط","هادئ"]}, {"title":"سرعة الإلقاء", "vals":["سريعة","متوسطة","بطيئة"]}, {"title":"عمق النبرة", "vals":["عميقة","متوسطة","خفيفة"]}, ]; @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppTheme.black, appBar: AppBar(backgroundColor: Colors.transparent, elevation:0, title: const Text("غرفة التحكم", style: TextStyle(color:AppTheme.gold)), leading: const BackButton(color:AppTheme.gold)), body: Directionality( textDirection: TextDirection.rtl, child: ListView.separated( padding: const EdgeInsets.all(16), itemCount: items.length, separatorBuilder: (_,i)=>const SizedBox(height:18), itemBuilder: (_,i)=> Column(crossAxisAlignment:CrossAxisAlignment.start, children: [ Text(items[i]["title"] as String, style: const TextStyle(color:Colors.white, fontSize:14)), const SizedBox(height:8), Wrap(spacing:10, children: [ for(var v in items[i]["vals"] as List) ElevatedButton( style: ElevatedButton.styleFrom( backgroundColor: v=="متوازن"||v=="متوسط"||v=="متوسطة" ? AppTheme.gold : AppTheme.cardBg, foregroundColor: v=="متوازن"||v=="متوسط"||v=="متوسطة" ? Colors.black : Colors.white70, ), onPressed:(){}, child: Text(v), ), ]), ]), ), ), floatingActionButton: FloatingActionButton.extended( backgroundColor: AppTheme.gold, foregroundColor: Colors.black, onPressed:()=>Navigator.push(context, MaterialPageRoute(builder:(_)=>const ControlRoom2Screen())), label: const Text("التالي"), icon: const Icon(Icons.arrow_back_ios_new), ), ); } } import 'package:flutter/material.dart'; import '../theme.dart'; import 'recorder_screen.dart'; class ControlRoom2Screen extends StatelessWidget { const ControlRoom2Screen({super.key}); @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppTheme.black, appBar: AppBar(backgroundColor: Colors.transparent, elevation:0, title: const Text("غرفة التحكم", style: TextStyle(color:AppTheme.gold)), leading: const BackButton(color:AppTheme.gold)), body: Directionality( textDirection: TextDirection.rtl, child: SingleChildScrollView( padding: const EdgeInsets.all(16), child: Column(crossAxisAlignment:CrossAxisAlignment.start, children: [ const Text("طبقة الصوت", style: TextStyle(color:Colors.white)), const SizedBox(height:8), Row(children: ["منخفضة","متوسطة","عالية"].map((e)=> Expanded( child: Padding(padding: const EdgeInsets.symmetric(horizontal:4), child: ElevatedButton(style: ElevatedButton.styleFrom(backgroundColor: e=="متوسطة"?AppTheme.gold:AppTheme.cardBg, foregroundColor: e=="متوسطة"?Colors.black:Colors.white), onPressed:(){}, child: Text(e))), )).toList()), const SizedBox(height:20), const Text("شدة التأثير الدرامي", style: TextStyle(color:Colors.white)), const SizedBox(height:8), Row(children: ["قوي","متوسط","خفيف"].map((e)=> Expanded( child: Padding(padding: const EdgeInsets.symmetric(horizontal:4), child: ElevatedButton(style: ElevatedButton.styleFrom(backgroundColor: e=="متوسط"?AppTheme.gold:AppTheme.cardBg, foregroundColor: e=="متوسط"?Colors.black:Colors.white), onPressed:(){}, child: Text(e))), )).toList()), const SizedBox(height:20), const Text("الغرض من الصوت", style: TextStyle(color:Colors.white)), const SizedBox(height:8), Wrap(spacing:10, children: ["نوعي","قصص","توثيق"].map((e)=> ElevatedButton(style: ElevatedButton.styleFrom(backgroundColor: e=="قصص"?AppTheme.gold:AppTheme.cardBg, foregroundColor: e=="قصص"?Colors.black:Colors.white), onPressed:(){}, child: Text(e))).toList()), const SizedBox(height:30), Center(child: ElevatedButton(style: ElevatedButton.styleFrom(padding: const EdgeInsets.symmetric(horizontal:60)), onPressed:()=>Navigator.push(context, MaterialPageRoute(builder:(_)=>const RecorderScreen())), child: const Text("تعليمي"))), ]), ), ), ); } } import 'package:flutter/material.dart'; import '../theme.dart'; import 'text_engine_screen.dart'; class RecorderScreen extends StatelessWidget { const RecorderScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppTheme.black, appBar: AppBar(backgroundColor: Colors.transparent, elevation:0, title: const Text("غرفة التحكم", style: TextStyle(color:AppTheme.gold)), leading: const BackButton(color:AppTheme.gold)), body: Directionality( textDirection: TextDirection.rtl, child: Column(mainAxisAlignment:MainAxisAlignment.center, children: [ Stack(alignment:Alignment.center, children: [ Container(width:220, height:220, decoration: BoxDecoration(shape:BoxShape.circle, border: Border.all(color:AppTheme.gold.withOpacity(.2), width:2))), Container(width:180, height:180, decoration: BoxDecoration(shape:BoxShape.circle, border: Border.all(color:AppTheme.gold.withOpacity(.4), width:2))), Container(width:140, height:140, decoration: const BoxDecoration(shape:BoxShape.circle, gradient: RadialGradient(colors:[AppTheme.gold, AppTheme.goldDark]))), const Icon(Icons.mic, size:70, color:Colors.black), ]), const SizedBox(height:30), SizedBox(width:280, child: Column(children: [ ElevatedButton(onPressed:(){}, child: const Row(mainAxisAlignment:MainAxisAlignment.center, children: [Icon(Icons.check), SizedBox(width:8), Text("تثبيت الصوت")])), const SizedBox(height:10), OutlinedButton(style: OutlinedButton.styleFrom(side: const BorderSide(color:AppTheme.gold)), onPressed:(){}, child: const Row(mainAxisAlignment:MainAxisAlignment.center, children: [Icon(Icons.graphic_eq, color:AppTheme.gold), SizedBox(width:8), Text("بصمة الصوت", style: TextStyle(color:AppTheme.gold))])), const SizedBox(height:10), ElevatedButton(style: ElevatedButton.styleFrom(backgroundColor: AppTheme.goldSoft), onPressed:()=>Navigator.push(context, MaterialPageRoute(builder:(_)=>const TextEngineScreen())), child: const Row(mainAxisAlignment:MainAxisAlignment.center, children: [Icon(Icons.auto_awesome, color:Colors.black), SizedBox(width:8), Text("توليد الصوت التلقائي", style: TextStyle(color:Colors.black))])), ])), ]), ), ); } } import 'package:flutter/material.dart'; import '../theme.dart'; import 'studios_screen.dart'; class TextEngineScreen extends StatelessWidget { const TextEngineScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppTheme.black, appBar: AppBar(backgroundColor: Colors.transparent, elevation:0, title: const Text("هندسة النص والمخطوطة", style: TextStyle(color:AppTheme.gold)), leading: const BackButton(color:AppTheme.gold)), body: Directionality( textDirection: TextDirection.rtl, child: SingleChildScrollView(padding: const EdgeInsets.all(16), child: Column(children: [ Container(width:double.infinity, padding: const EdgeInsets.all(14), decoration: BoxDecoration(color:AppTheme.cardBg, borderRadius: BorderRadius.circular(12), border: Border.all(color:AppTheme.border)), child: const Text("سموحة النص\n\nإن الموسيقى غرف قلبي والقصيدة تنثرت على أوتار الروح الحناناً في السوق والحنين وسكرت حروفها في زمن لا ننسى...", style: TextStyle(color:Colors.white70, height:1.8)), ), const SizedBox(height:14), ElevatedButton(onPressed:(){}, child: const Row(mainAxisAlignment:MainAxisAlignment.center, children: [Icon(Icons.auto_fix_high), SizedBox(width:8), Text("تحسين النص ذكياً")])), const SizedBox(height:22), const Align(alignment:Alignment.topRight, child: Text("المخطوطة النهائية", style: TextStyle(color:AppTheme.gold, fontSize:15, fontWeight:FontWeight.bold))), const SizedBox(height:8), Container(width:double.infinity, padding: const EdgeInsets.all(14), decoration: BoxDecoration(color:AppTheme.cardBg, borderRadius: BorderRadius.circular(12), border: Border.all(color:AppTheme.gold.withOpacity(.4))), child: const Text("إن الموسيقى غرف قلبي والقصيدة تنثرت على أوتار الروح الحناناً في السوق والحنين وسكرت حروفها في زمن لا ننسى...", style: TextStyle(color:Colors.white, height:1.8)), ), const SizedBox(height:30), ElevatedButton(onPressed:()=>Navigator.push(context, MaterialPageRoute(builder:(_)=>const StudiosScreen())), child: const Text("الدخول لمرحلة الإنتاج")), ])), ), ); } } import 'package:flutter/material.dart'; import '../theme.dart'; import 'download_screen.dart'; class StudiosScreen extends StatelessWidget { const StudiosScreen({super.key}); final studios = [ {"icon":Icons.headphones, "title":"Audiobook Studio","ar":"استوديو الكتب الصوتية","desc":"إنتاج وإدارة الروايات والمجموعات النصية الطويلة المقسمة إلى فصول"}, {"icon":Icons.mic_none, "title":"Podcast Studio","ar":"استوديو البودكاست","desc":"مخصص للحلقات والمحتوى الحواري والاجتماعي"}, {"icon":Icons.description, "title":"Transcript Studio","ar":"استوديو المخطوطات","desc":"إدارة النقدية النصي وتحويل الصوتيات إلى نصوص بدقة عالية"}, ]; final bottomItems = [ Icons.music_note, Icons.equalizer, Icons.hearing, Icons.audio_file, Icons.analytics, Icons.folder, Icons.settings, ]; final labels = ["مؤثرات","المكساج","استماع","تصدير MP3","إحصائيات","المشاريع","الإعدادات"]; @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppTheme.black, appBar: AppBar(backgroundColor: Colors.transparent, elevation:0, title: const Text("أدوات الإنتاج المتخصصة", style: TextStyle(color:AppTheme.gold)), leading: const BackButton(color:AppTheme.gold)), body: Directionality( textDirection: TextDirection.rtl, child: SingleChildScrollView(padding: const EdgeInsets.all(16), child: Column(children: [ const Text("(Studios)", style: TextStyle(color:AppTheme.goldDark, fontSize:16)), const SizedBox(height:14), for(var s in studios) ...[ Container(width:double.infinity, padding: const EdgeInsets.all(18), margin: const EdgeInsets.only(bottom:14), decoration: BoxDecoration(color:AppTheme.cardBg, borderRadius: BorderRadius.circular(14), border: Border.all(color:AppTheme.border)), child: Column(crossAxisAlignment:CrossAxisAlignment.start, children: [ Row(children: [Icon(s["icon"] as IconData, size:36, color:AppTheme.gold), const SizedBox(width:12), Column(crossAxisAlignment:CrossAxisAlignment.start, children: [ Text(s["title"] as String, style: const TextStyle(color:AppTheme.gold, fontSize:16, fontWeight:FontWeight.bold)), Text(s["ar"] as String, style: const TextStyle(color:Colors.white70, fontSize:13)), ])]), const SizedBox(height:10), Text(s["desc"] as String, style: const TextStyle(color:Colors.white54, fontSize:12)), const SizedBox(height:12), SizedBox(width:double.infinity, child: ElevatedButton(onPressed:(){}, child: const Text("دخول الاستوديو"))), ]), ), ], const SizedBox(height:16), SingleChildScrollView(scrollDirection: Axis.horizontal, child: Row(children: List.generate(bottomItems.length, (i)=> Padding(padding: const EdgeInsets.symmetric(horizontal:10), child: Column(children: [ Icon(bottomItems[i], color:AppTheme.gold, size:28), const SizedBox(height:4), Text(labels[i], style: const TextStyle(color:Colors.white60, fontSize:11)), ])), ))), const SizedBox(height:30), ElevatedButton(onPressed:()=>Navigator.push(context, MaterialPageRoute(builder:(_)=>const DownloadScreen())), child: const Text("صفحة التنزيل الرسمية")), ])), ), ); } } import 'package:flutter/material.dart'; import '../theme.dart'; class DownloadScreen extends StatelessWidget { const DownloadScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppTheme.black, body: Directionality(textDirection: TextDirection.rtl, child: Column(mainAxisAlignment:MainAxisAlignment.center, children: [ const Row(mainAxisAlignment:MainAxisAlignment.center, children: [ Icon(Icons.mic, size:42, color:AppTheme.gold), SizedBox(width:8), Icon(Icons.edit, size:28, color:AppTheme.goldDark), ]), const SizedBox(height:10), const Text("ستوديو سمير شراويد", style: TextStyle(color:AppTheme.gold, fontSize:26, fontWeight:FontWeight.bold)), const Text("المحرك الصوتي الاحترافي للأدب والإبداع", style: TextStyle(color:Colors.white60, fontSize:12)), const SizedBox(height:60), Row(mainAxisAlignment:MainAxisAlignment.center, children: [ Image.network("https://upload.wikimedia.org/wikipedia/commons/7/78/Google_Play_Store_badge_EN.svg", height:55, color:Colors.white), const SizedBox(width:16), Image.network("https://developer.apple.com/assets/elements/badges/download-on-the-app-store.svg", height:55, color:Colors.white), ]), ]), ), ); } } import 'package:flutter/material.dart'; import 'theme.dart'; import 'screens/splash_screen.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'ستوديو سمير شراويد', debugShowCheckedModeBanner: false, theme: AppTheme.arabicGold, home: const SplashScreen(), builder: (context, child) => Directionality(textDirection: TextDirection.rtl, child: child!), ); } } lib/ ├── main.dart ├── theme.dart └── screens/ ├── splash_screen.dart ├── home_screen.dart ├── filter_screen.dart ├── voices_list_screen.dart ├── control_room1_screen.dart ├── control_room2_screen.dart ├── recorder_screen.dart ├── text_engine_screen.dart ├── studios_screen.dart └── download_screen.dart fonts: - family: Cairo fonts: - asset: assets/fonts/Cairo-Bold.ttf - asset: assets/fonts/Cairo-Regular.ttf name: samir_sharawid_studio description: ستوديو سمير شراويد - المحرك الصوتي الاحترافي للأدب والإبداع publish_to: 'none' version: 1.0.0+1 environment: sdk: '>=3.4.0 <4.0.0' dependencies: flutter: sdk: flutter # ✅ الواجهة والتصميم google_fonts: ^6.2.1 # الخط العربي القاهرة مباشرة flutter_svg: ^2.0.10+1 # ✅ الصوت: تسجيل - تشغيل - معالجة flutter_sound: ^9.16.0 just_audio: ^0.9.40 audio_session: ^0.1.21 ffmpeg_kit_flutter_full: ^6.0.3 # قص/دمج/تصدير MP3/WAV/FLAC # ✅ نص ↔ صوت + ذكاء اصطناعي google_generative_ai: ^0.4.6 # تحسين النص بالذكاء googleapis: ^13.2.0 elevenlabs: ^0.3.2 # أفضل جودة صوت عربي احترافي # ✅ قاعدة بيانات وتخزين سحابي firebase_core: ^3.4.0 firebase_storage: ^12.3.0 cloud_firestore: ^5.4.0 shared_preferences: ^2.3.2 # ✅ أدوات النظام وأذونات permission_handler: ^11.3.1 path_provider: ^2.1.4 url_launcher: ^6.3.0 share_plus: ^10.0.2 package_info_plus: ^8.0.2 # ✅ أيقونات وشاشة البداية الأصلية flutter_launcher_icons: ^0.14.1 flutter_native_splash: ^2.4.1 dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^4.0.0 flutter: uses-material-design: true fonts: - family: Cairo fonts: - asset: assets/fonts/Cairo-Regular.ttf - asset: assets/fonts/Cairo-Bold.ttf weight: 700 - asset: assets/fonts/Cairo-Black.ttf weight: 900 assets: - assets/ - assets/fonts/ - assets/icons/ - assets/images/ flutter clean && flutter pub get flutter_launcher_icons: android: "launcher_icon" ios: true image_path: "assets/icons/app_icon.png" min_sdk_android: 21 remove_alpha_ios: true background_color_android: "#000000" foreground_color: "#FFD700" adaptive_icon_background: "#000000" adaptive_icon_foreground: "assets/icons/app_icon_foreground.png" dart run flutter_launcher_icons flutter_native_splash: color: "#000000" image: assets/icons/splash_logo.png branding: assets/icons/branding_text.png android: true ios: true fullscreen: true android { compileSdkVersion 35 ndkVersion flutter.ndkVersion defaultConfig { applicationId "com.samirstudio.app" minSdkVersion 21 targetSdkVersion 35 versionCode flutterVersionCode.toInteger() versionName flutterVersionName multiDexEnabled true } signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } buildTypes { release { signingConfig signingConfigs.release shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } keytool -genkey -v -keystore android/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload CFBundleName ستوديو سمير شراويد CFBundleDisplayName ستوديو سمير شراويد CFBundleDevelopmentRegion ar CFBundleLocalizations ar en NSMicrophoneUsageDescription نحتاج لوصول الميكروفون لتسجيل الصوت وإنتاج المحتوى الاحترافي NSAppleMusicUsageDescription لإضافة مؤثرات صوتية وموسيقى لمشاريعك UIBackgroundModes audio fetch UIRequiresFullScreen UISupportedInterfaceOrientations UIInterfaceOrientationPortrait #!/bin/bash set -e echo "🔧 تنظيف وبناء المشروع..." flutter clean flutter pub get echo "🤖 بناء أندرويد نسخة رسمية موقعة..." flutter build appbundle --release --obfuscate --split-debug-info=./debug_info echo "✅ ملف جاهز للرفع لجوجل بلاي:" ls -lh build/app/outputs/bundle/release/app-release.aab echo "🍎 بناء آيفون وتجهيز للنشر..." flutter build ipa --release --obfuscate --split-debug-info=./debug_info echo "✅ ملف آيفون جاهز في:" open build/ios/ipa/ echo "🎉 الانتهاء! ارفع الآن:" echo "👉 جوجل بلاي: https://play.google.com/console" echo "👉 آب ستور: https://appstoreconnect.apple.com" chmod +x build_deploy.sh && ./build_deploy.sh samir_studio/ ├── android/ ✅ إعدادات أندرويد + التوقيع ├── ios/ ✅ إعدادات آيفون ├── lib/ ✅ جميع الشاشات التي برمجناها │ ├── main.dart │ ├── theme.dart │ └── screens/*.dart ├── assets/ │ ├── fonts/ ✅ خطوط القاهرة │ ├── icons/ ✅ الأيقونات الذهبية │ └── images/ ├── pubspec.yaml ✅ جاهز بكل المكتبات ├── flutter_launcher_icons.yaml ✅ توليد الأيقونات ├── flutter_native_splash.yaml ✅ شاشة البداية الأصلية └── build_deploy.sh ✅ سكربت البناء والرفع بنقرة واحدة

ليست هناك تعليقات:

إرسال تعليق

دار نشر تحيا مصر 🇪🇬للإبداع. اصدارات الكترونيه

يتم التشغيل بواسطة Blogger.