diff --git a/QtScrcpy/audio/audiooutput.cpp b/QtScrcpy/audio/audiooutput.cpp index 5d71db0..bcf490e 100644 --- a/QtScrcpy/audio/audiooutput.cpp +++ b/QtScrcpy/audio/audiooutput.cpp @@ -80,7 +80,7 @@ bool AudioOutput::runSndcpyProcess(const QString &serial, int port) params << QString("%1").arg(port); m_sndcpy.start("bash", params); #endif -/* + if (!m_sndcpy.waitForStarted()) { qWarning() << "AudioOutput::start sndcpy.bat failed"; return false; @@ -89,7 +89,7 @@ bool AudioOutput::runSndcpyProcess(const QString &serial, int port) qWarning() << "AudioOutput::sndcpy.bat crashed"; return false; } -*/ + return true; } diff --git a/QtScrcpy/sndcpy/sndcpy.sh b/QtScrcpy/sndcpy/sndcpy.sh index 6b35f2b..c9dfb9e 100755 --- a/QtScrcpy/sndcpy/sndcpy.sh +++ b/QtScrcpy/sndcpy/sndcpy.sh @@ -1 +1,46 @@ -echo aaaa \ No newline at end of file +#!/bin/bash + +echo Begin Runing... +SNDCPY_PORT=28200 +SNDCPY_APK=sndcpy.apk +ADB=./adb + +serial= +if [[ $# -ge 2 ]] +then + serial="-s $1" + SNDCPY_PORT=$2 +fi + +echo "Waiting for device $1..." +$ADB $serial wait-for-device +echo "Find device $1" + +sndcpy_installed=$($ADB $serial shell pm path com.rom1v.sndcpy) +if [[ $sndcpy_installed == "" ]]; then + echo Install $SNDCPY_APK... + $ADB $serial uninstall com.rom1v.sndcpy + $ADB $serial install -t -r -g $SNDCPY_APK + echo Install $SNDCPY_APK success +fi + +echo Request PROJECT_MEDIA permission... +$ADB $serial shell appops set com.rom1v.sndcpy PROJECT_MEDIA allow + +echo Forward port $SNDCPY_PORT... +$ADB $serial forward tcp:$SNDCPY_PORT localabstract:sndcpy + +echo Start $SNDCPY_APK... +$ADB $serial shell am start com.rom1v.sndcpy/.MainActivity + +while ((1)) +do + echo Waiting $SNDCPY_APK start... + sleep 0.1 + sndcpy_started=$($ADB shell 'ps | grep com.rom1v.sndcpy') + if [[ $sndcpy_started != "" ]]; then + break + fi +done + +echo Ready playing... \ No newline at end of file