דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
איש אמתא

איש אמת

@איש אמת
מדריכים
אודות
פוסטים
4.1k
נושאים
240
שיתופים
0
קבוצות
2
עוקבים
41
עוקב אחרי
4

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • בעיה | הודעת SMS מפאגי בביט לא שולח לשיואמי
    איש אמתא איש אמת

    @אפרושי-מאיסורא אין לי איך לפתור לך את זה אבל סתם שתדע אתה לא לבד
    שמעתי על מלא משתמשים שנתקעים עם זה כנ״ל אני

    עזרה הדדית - שיאומי f21 pro ו +f21 pro

  • בקשת מידע | סטיק נייד 5G מישהו יודע עליו/תדרים?
    איש אמתא איש אמת

    @DANIEL-4 המוכר הזה לא כתב שום דבר שקשור לאיזה תדרים המכשיר תומך, אז עשיתי חיפוש של מוצרים דומים ומצאתי אותו מוצר בדיוק שגם עליו כתוב 5g אבל תכלס כתוב שם שזה תומך בתדרים האלו:
    צילום מסך 2025-07-25 ב-6.47.39.png
    ולא מוזכר דור 5 או תדרי n
    אגב זה גם קצת מוזר שבארץ המחיר של נתב כזה הוא 1000 ש״ח ושם זה רק 60
    לידע כללי יש לך את הטבלה הזאת מוויקפדיה
    צילום מסך 2025-07-25 ב-6.48.31.png

    כללי - עזרה הדדית

  • בקשה | בניית אפליקציה מקובץ שיצר AI
    איש אמתא איש אמת

    @0527175343smb קימפלתי את זה לקובץ apk חתום
    לא יודע אם זה עושה בפועל את מה שהיה אמור לעשות אבל זה כן עובד על המסך
    בהצלחה

    צילום מסך 2025-07-25 ב-6.23.46.png

    עזרה הדדית - בניית ופיתוח אפליקציות

  • בקשת מידע | שעון חכם עד 100 שקל פחות או יותר אשמח להמלצות.
    איש אמתא איש אמת

    @זמני ספציפית מה שנתת זה הגיוני כי זה רק הרצועות אבל שים לב שמדובר על אולטרה שבארץ זה באזור ה 1000
    ולא זה לא הגיוני...

    עזרה הדדית - אנדרואיד

  • בקשת מידע | שעון חכם עד 100 שקל פחות או יותר אשמח להמלצות.
    איש אמתא איש אמת

    @אנדרו-מאסטר כתב בבקשת מידע | שעון חכם עד 100 שקל פחות או יותר אשמח להמלצות.:

    תוכל לשלוח לי קישור לשעון הזה?

    מה שהוא כתב זה שעונים יקרים שלא בתקציב שלך

    עזרה הדדית - אנדרואיד

  • בקשת מידע | אפליקציה לכרטיסי זיכרון שלא נתמכים באנדרואיד
    איש אמתא איש אמת

    @פראירי האמת שיש מצב שאתה צודק, לא שמתי לב ולא בדקתי
    על כל פנים אם יש לו otg אז זה לא משנה כ״כ

    עזרה הדדית - אנדרואיד

  • בקשת מידע | אפליקציה לכרטיסי זיכרון שלא נתמכים באנדרואיד
    איש אמתא איש אמת

    @אני-יהיה-האקר תחפש בנושאים של @משה-144 הוא הביא אפליקציה אבל היא עובדת רק עם סיירים מסויומים ולא עם המובנה...
    חיפשתי בשבילך

    עזרה הדדית - אנדרואיד

  • בקשת מידע | שעון חכם עד 100 שקל פחות או יותר אשמח להמלצות.
    איש אמתא איש אמת

    @אנדרו-מאסטר כתב בבקשת מידע | שעון חכם עד 100 שקל פחות או יותר אשמח להמלצות.:

    השעון הזה הוא יותר טוב

    קח כלל אצבע לך על שעונים עם אנדרואיד
    לגבי מה שאני שלחתי זה דגם ישן של סמסונג (3) שאגב היום הם אוחזים ב 7
    פשוט תחפש סקירות ביוטיוב על השעון שנראה לך בסדר ותראה האם הוא מתאים לך
    עוד פרט חשוב שים לב לגודל של השעון לפי מ"מ ש 40 מ"מ זה נראה לי הכי קטן ו 47 הכי גדול

    עזרה הדדית - אנדרואיד

  • בירור | אפליקציית בית כנסת
    איש אמתא איש אמת

    @הבל-הבלים-הכל הכי קל זה לשאול את המפתח האם הוא מרויד את המאגר למכשיר ואז מבצע עליו את הפונקציות או שהמאגר נשאר בשרת
    אם יש את האפשרות הראשונה אז בקלות אתה יכול לעתיק ממכשיר שמחובר לרשת (אולי יש צורך ברוט)
    האפשרות השניה יותר מסובכת (פרוקסי או לבקש מהמפתח שינויים)

    עזרה הדדית - אנדרואיד

  • בקשת מידע | שעון חכם עד 100 שקל פחות או יותר אשמח להמלצות.
    איש אמתא איש אמת

    @אנדרו-מאסטר קח למשל את זה מחיפוש של 2 דקות
    נראה לי אפילו תוכל למצוא דגמים יותר טובים ממנו באותו מחיר

    עזרה הדדית - אנדרואיד

  • בקשת מידע | שעון חכם עד 100 שקל פחות או יותר אשמח להמלצות.
    איש אמתא איש אמת

    @אנדרו-מאסטר מה שכן תוכל לעשות ב 100 שקל זה לקנות יד שניה דגמים ישנים של חברות מוכרות (אבל צריך לשים לב לתתי דגמים שאולי דורשים אינטרנט)

    עזרה הדדית - אנדרואיד

  • עזרה | כתיבת קוד קוטלין עבור ספריית RootEncoder
    איש אמתא איש אמת

    @10110000 אתה תעשה?
    ואם לא כמה כן הוא יקח?

    עזרה הדדית - בניית ופיתוח אפליקציות

  • עזרה | כתיבת קוד קוטלין עבור ספריית RootEncoder
    איש אמתא איש אמת

    התשלום הוגדל

    היי שלום
    אני מחפש מפתח קוטלין שיודע לעבוד עם ספריית RootEncoder (ספריית סטרימינג) שרת OME ורכיב מצלמה
    דרושים לי הדברים הבאים:
    1 כתיבת ה layout של המסך עם רכיבי המצלמה (כפתורים תצוגה קדימה וכד׳)
    2 כתיבת קוד קוטלין שמטפל בכל הרכיבים במסך ומזרים את התשדיר לשרת OME
    יש לי כרגע קוד של המסך אבל אני לא מצליח להבין למה הוא מורח את הצילום על כל המסך ולמה כשאני מסובב את המכשיר התמונה מתעוותת
    אני משלם 400₪ על התוצאה שאני רוצה
    אני אשמח גם אם סתם יעזרו לי כאן
    יש כאן דוגמה לקוד שיש לי כרגע:

    layout:

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/black"
        tools:context=".ui.streaming.StreamingFragment">
    
        <SurfaceView
            android:id="@+id/surfaceView"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent" />
    
        <TextView
            android:id="@+id/tv_bitrate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:textColor="@android:color/white"
            android:background="#80000000"
            android:padding="8dp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            tools:text="1200 Kbps" />
    
        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            app:layout_constraintBottom_toBottomOf="parent">
    
            <ImageView
                android:id="@+id/settings_button"
                android:layout_width="64dp"
                android:layout_height="64dp"
                android:src="@drawable/ic_settings"
                android:background="?attr/selectableItemBackgroundBorderless"
                app:tint="@color/white"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintEnd_toStartOf="@id/b_start_stop"
                app:layout_constraintHorizontal_chainStyle="spread_inside" />
    
            <ImageView
                android:id="@+id/b_start_stop"
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:src="@drawable/stream_icon"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintStart_toEndOf="@id/settings_button"
                app:layout_constraintEnd_toStartOf="@id/switch_camera" />
    
            <ImageView
                android:id="@+id/switch_camera"
                android:layout_width="64dp"
                android:layout_height="64dp"
                android:src="@drawable/switch_icon"
                android:background="?attr/selectableItemBackgroundBorderless"
                app:tint="@color/white"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@id/b_start_stop" />
        </androidx.constraintlayout.widget.ConstraintLayout>
    </androidx.constraintlayout.widget.ConstraintLayout>
    

    קוטלין:

    package com.iam699030.tore.ui.streaming
    
    import android.Manifest
    import android.content.pm.PackageManager
    import android.os.Build
    import android.os.Bundle
    import android.util.Log
    import android.view.*
    import android.widget.Toast
    import androidx.activity.result.contract.ActivityResultContracts
    import androidx.appcompat.app.AlertDialog
    import androidx.core.content.ContextCompat
    import androidx.fragment.app.Fragment
    import com.google.android.material.dialog.MaterialAlertDialogBuilder
    import com.google.android.material.textfield.TextInputEditText
    import com.iam699030.tore.R
    import com.iam699030.tore.databinding.FragmentStreamingBinding
    import com.pedro.common.ConnectChecker
    import com.pedro.library.rtmp.RtmpCamera1
    import java.util.*
    
    class StreamingFragment : Fragment(), ConnectChecker, SurfaceHolder.Callback {
    
        private var _binding: FragmentStreamingBinding? = null
        private val binding get() = _binding!!
        private lateinit var rtmpCamera1: RtmpCamera1
    
        private val permissionLauncher = registerForActivityResult(
            ActivityResultContracts.RequestMultiplePermissions()
        ) { permissions ->
            val allGranted = permissions.entries.all { it.value }
            if (allGranted) {
                // אם ניתנו הרשאות, אפשר להתחיל תצוגה מקדימה
                rtmpCamera1.startPreview()
            } else {
                Toast.makeText(requireContext(), "נדרשות הרשאות מצלמה ואודיו", Toast.LENGTH_SHORT).show()
            }
        }
    
        override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
            _binding = FragmentStreamingBinding.inflate(inflater, container, false)
            return binding.root
        }
    
        override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
            super.onViewCreated(view, savedInstanceState)
            // אתחול המצלמה והמאזין לתצוגה
            rtmpCamera1 = RtmpCamera1(binding.surfaceView, this)
            binding.surfaceView.holder.addCallback(this)
            setupListeners()
            requestPermissions()
        }
    
        private fun requestPermissions() {
            if (!hasPermissions()) {
                permissionLauncher.launch(REQUIRED_PERMISSIONS)
            }
        }
    
        private fun hasPermissions(): Boolean {
            return REQUIRED_PERMISSIONS.all {
                ContextCompat.checkSelfPermission(requireContext(), it) == PackageManager.PERMISSION_GRANTED
            }
        }
    
        private fun setupListeners() {
            binding.bStartStop.setOnClickListener {
                if (!rtmpCamera1.isStreaming) {
                    showLessonNameDialog()
                } else {
                    rtmpCamera1.stopStream()
                    binding.bStartStop.setImageResource(R.drawable.stream_icon)
                    binding.tvBitrate.text = ""
                }
            }
            binding.switchCamera.setOnClickListener {
                try {
                    rtmpCamera1.switchCamera()
                } catch (e: Exception) {
                    Toast.makeText(requireContext(), e.message, Toast.LENGTH_SHORT).show()
                }
            }
        }
    
        private fun showLessonNameDialog() {
            val dialogView = LayoutInflater.from(requireContext()).inflate(R.layout.dialog_lesson_name, null)
            val editText = dialogView.findViewById<TextInputEditText>(R.id.dialogLessonNameEditText)
            MaterialAlertDialogBuilder(requireContext())
                .setTitle("הזן שם לשיעור")
                .setView(dialogView)
                .setNegativeButton("ביטול", null)
                .setPositiveButton("התחל שידור") { _, _ ->
                    val lessonName = editText.text.toString().trim()
                    if (lessonName.isNotEmpty()) {
                        startStream(lessonName)
                    }
                }
                .show()
        }
    
        private fun startStream(lessonName: String) {
            if (!rtmpCamera1.isRecording) {
                if (rtmpCamera1.prepareAudio() && rtmpCamera1.prepareVideo()) {
                    val hostIp = "10.0.2.2"
                    val rtmpUrl = "rtmp://$hostIp:1935/app/$lessonName"
                    rtmpCamera1.startStream(rtmpUrl)
                    binding.bStartStop.setImageResource(R.drawable.stream_stop_icon)
                } else {
                    Toast.makeText(requireContext(), "שגיאה בהכנת השידור", Toast.LENGTH_SHORT).show()
                }
            }
        }
    
        // --- מימוש ConnectChecker ---
        override fun onConnectionSuccess() {
            activity?.runOnUiThread { Toast.makeText(requireContext(), "התחברות הצליחה", Toast.LENGTH_SHORT).show() }
        }
    
        override fun onConnectionFailed(reason: String) {
            activity?.runOnUiThread {
                Toast.makeText(requireContext(), "התחברות נכשלה: $reason", Toast.LENGTH_SHORT).show()
                rtmpCamera1.stopStream()
                binding.bStartStop.setImageResource(R.drawable.stream_icon)
            }
        }
    
        override fun onNewBitrate(bitrate: Long) {
            activity?.runOnUiThread { binding.tvBitrate.text = "${bitrate / 1024} Kbps" }
        }
    
        override fun onDisconnect() {
            activity?.runOnUiThread {
                Toast.makeText(requireContext(), "התנתק", Toast.LENGTH_SHORT).show()
                binding.bStartStop.setImageResource(R.drawable.stream_icon)
            }
        }
        override fun onAuthError() {}
        override fun onAuthSuccess() {}
        override fun onConnectionStarted(url: String) {}
    
        // --- מימוש SurfaceHolder.Callback ---
        override fun surfaceCreated(holder: SurfaceHolder) {}
    
        override fun surfaceChanged(holder: SurfaceHolder, format: Int, width: Int, height: Int) {
            // ★★★ מתחילים את התצוגה המקדימה רק כאן, כשהמידות סופיות ★★★
            rtmpCamera1.startPreview()
        }
    
        override fun surfaceDestroyed(holder: SurfaceHolder) {
            if (rtmpCamera1.isStreaming) rtmpCamera1.stopStream()
            rtmpCamera1.stopPreview()
        }
    
        override fun onDestroyView() {
            super.onDestroyView()
            _binding = null
        }
    
        companion object {
            private val REQUIRED_PERMISSIONS = mutableListOf(
                Manifest.permission.RECORD_AUDIO, Manifest.permission.CAMERA,
            ).apply {
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
                    this.add(Manifest.permission.POST_NOTIFICATIONS)
                }
            }.toTypedArray()
        }
    }
    

    עזרה הדדית - בניית ופיתוח אפליקציות

  • בקשת מידע | זיהוי שבתות וימים טובים
    איש אמתא איש אמת

    @oryadaniely

    יש ספריות שאני לא בקי בשמם אך שים לב מהכרות שלי עם מערכות אחרות שהשתמשתי בספריות כאלו זה שצריך לבצע עליהם כל מיני קומבינציות לפעולה שאתה צריך
    חוץ מהעניין של ספריות שמביאות את כל החגים ה״עבריים״ שזה כולל יום ירושלים וכד׳ ולא נותנות לך סינון של אסור ומותר במלאכה אתה תצטריך הרי לחסום את המערכת מהשקיעה והרי כל המערכת בנויה על לועזי שהוא מתעדכן רק ב 12, לכן יש ספריות שמביאות גם את ערב היום שאסור במלאכה ואז צריך לבדוק מה קורה בראש השנה ששבת לפניו
    קיצור רק לתשומת לבך שקל זה לא יהיה בהכרח...

    עזרה הדדית - Python

  • בקשת מידע | ידע בהגדרת שרתים
    איש אמתא איש אמת

    @הליטוואק כתב בבקשת מידע | ידע בהגדרת שרתים:

    אני יסביר, אני רוצה להקים צ'אט של עדכונים קצרים, אבל אני לא רוצה להקים משהו ואז נטפרי יחסמו לי את זה, לכן החלטתי ללכת למשהו שיחזיק מעמד. אני צריך משהו שיהיה תחליף הכי טוב לצ'אט.

    לא פרטת בדיוק את מה שרצינו לשמוע
    תפרט האם רק אתה אמור לשלוח את המסרים או שכל משתמש בצ׳אט יוכל לשלוח הודעה והאם זה רק ערוץ 1 או שיהיה כמה ערוצי עדכונים באותה פלטפורמה

    כללי - עזרה הדדית

  • בקשת מידע | ידע בהגדרת שרתים
    איש אמתא איש אמת

    @ע-ה-דכו-ע כתב בבקשת מידע | ידע בהגדרת שרתים:

    לדעתי יותר מסתבר שיותר קל להתאים את נודביבי לצרכים שלו, מסתבר שמספיק קצת משחק בהגדרות מנהל הפורום, ואפילו אם יהיה צורך בפיתוח זה רק תוסף למערכת קיימת, לא למשהו שעדיין לא ממש קיים בעצמו.

    אני לא יודע מה הצרכים שלו אבל אני יודע שאם הוא צריך משהו שהוא כמו צ׳אט גוגל אז בדר״כ לא לוקחים פיל והופכים אותו לנמלה, מכל צד שתסתכל על זה
    1 nodebb בריא לי שהוא לוקח לפחות 50% יותר באנרגיה עיבוד ram וזכרון
    2 אולי יש יותר אנשים שמבינים בפיתוח js ל nodebb אבל נראה לי שלהוסיף api במערכת go זה יותר פשוט (במיוחד בפרויקט כזה קטן)
    אבל שוב, כל אחד יעשה את השיקולים שלו

    כללי - עזרה הדדית

  • בירור | איזה תוכנה \ אפליקצייה הייתם רוצים במק שלכם
    איש אמתא איש אמת

    @יעקב-מ.-פינס 3 דברים שמשגעים אותי:
    1 שמירת העתקות (כמו לחיצה ווינדוס p)
    2 סידור נוח של ישומים על המסך
    3 שליחת קבצים בבלוטוס
    יכול להיות שיש לזה פתרון, לא היה לי זמן לבדוק.

    עזרה הדדית - MacOS
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר