{"id":3564,"date":"2022-03-30T19:26:44","date_gmt":"2022-03-30T10:26:44","guid":{"rendered":"http:\/\/matoken.org\/blog\/?p=3564"},"modified":"2022-03-30T19:29:34","modified_gmt":"2022-03-30T10:29:34","slug":"transfer-android-sounds-to-pc-via-usb-with-sndcpy","status":"publish","type":"post","link":"https:\/\/matoken.org\/blog\/2022\/03\/30\/transfer-android-sounds-to-pc-via-usb-with-sndcpy\/","title":{"rendered":"sndcpy\u3067Android\u306e\u30b5\u30a6\u30f3\u30c9\u3092USB\u7d4c\u7531\u3067PC\u306b\u8ee2\u9001"},"content":{"rendered":"<div class=\"paragraph\">\n<p>Android\u306e\u30aa\u30fc\u30c7\u30a3\u30aa\u3092PC\u306b\u8ee2\u9001\u3057\u3066\u8996\u8074\u3068\u3044\u3046\u3053\u3068\u3092\u3088\u304f\u3084\u308b\u306e\u3067\u3059\u304c\uff0c\u6614\u306f3.5mm\u30aa\u30fc\u30c7\u30a3\u30aa\u30df\u30cb\u30b8\u30e3\u30c3\u30af\u3067\u6700\u8fd1\u306fBluetooth A2DP source\u3067\u8ee2\u9001\u3057\u3066\u3044\u307e\u3059\uff0e<br \/>\n\u4eca\u56deUSB\u3067\u8ee2\u9001\u3067\u304d\u308b <code>sndcpy<\/code> \u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a href=\"https:\/\/github.com\/rom1v\/sndcpy\">rom1v\/sndcpy: Android audio forwarding (scrcpy, but for audio)<\/a><\/li>\n<li><a href=\"https:\/\/blog.rom1v.com\/2020\/06\/audio-forwarding-on-android-10\/\">Audio forwarding on Android 10 \u00b7 ~rom1v\/blog<\/a><\/li>\n<\/ul>\n<\/div>\n<p><!--more--><\/p>\n<div class=\"admonitionblock tip\">\n<table  class=\" table table-hover\" >\n<tbody>\n<tr>\n<td class=\"icon\">\n<div class=\"title\">Tip<\/div>\n<\/td>\n<td class=\"content\">\n<div class=\"paragraph\">\n<p><code>sndcpy<\/code> \u306fAndroid 10\u4ee5\u964d\u304c\u5fc5\u8981\u3067\u3059\uff0e\u5225\u9014\u30af\u30e9\u30a4\u30a2\u30f3\u30c8PC\u306bVLC\u3082\u5fc5\u8981\u3067\u3059\uff0e\u5c0e\u5165\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u5c0e\u5165\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ sudo apt install vlc<\/pre>\n<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/github.com\/rom1v\/sndcpy\/releases\/latest\">sndcpy\u306eReleases\u304b\u3089\u6700\u65b0<\/a>\u3092\u5165\u624b\u3057\u307e\u3059\uff0e\u73fe\u5728\u306f v1.1 \u304c\u6700\u65b0\u3067Linux\u7248(sndcpy-v1.1.zip)\u3068Windows\u7248(sndcpy-with-adb-windows-v1.1.zip)\u304c\u3042\u308a\u307e\u3059\uff0e<br \/>\n\u4eca\u56deLinux\u306a\u306e\u3067\u3000sndcpy-v1.1.zip\u3068\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u3068\u305d\u306e\u7f72\u540d\u30d5\u30a1\u30a4\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u78ba\u8a8d\u3057\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ wget https:\/\/github.com\/rom1v\/sndcpy\/releases\/download\/v1.1\/sndcpy-v1.1.zip \\\nhttps:\/\/github.com\/rom1v\/sndcpy\/releases\/download\/v1.1\/SHA256SUMS.txt \\\nhttps:\/\/github.com\/rom1v\/sndcpy\/releases\/download\/v1.1\/SHA256SUMS.txt.asc\n$ sha256sum -c .\/SHA256SUMS.txt\nsndcpy-v1.1.zip: \u5b8c\u4e86\n$ gpg --verify .\/SHA256SUMS.txt.asc<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u9069\u5f53\u306a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u5c55\u958b\u3057\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ unzip -l .\/sndcpy-v1.1.zip\nArchive:  .\/sndcpy-v1.1.zip\n  Length      Date    Time    Name\n---------  ---------- -----   ----\n    95591  2021-11-30 07:13   sndcpy.apk\n      799  2021-11-30 07:13   sndcpy\n     1028  2021-11-30 07:13   sndcpy.bat\n---------                     -------\n    97418                     3 files\n$ mkdir .\/sndcpy\n$ cd sndcpy\n$ unzip ..\/sndcpy-v1.1.zip<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u6e96\u5099\u304c\u51fa\u6765\u305f\u306e\u3067Android\u7aef\u672b\u3092USB\u63a5\u7d9a\u3057\u305f\u72b6\u614b\u3067\u5b9f\u884c\u3057\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ .\/sndcpy\nWaiting for device...\n* daemon not running; starting now at tcp:5037\n* daemon started successfully\nPerforming Streamed Install\nSuccess\n28200\nStarting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.rom1v.sndcpy\/.MainActivity }\nPlaying audio...\nVLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)\n[00005616cdcf65e0] dummy interface: using the dummy interface module...\n[00007f5a800015c0] main stream error: connection error: Connection refused\n[00007f5a94000c80] main input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 0 ms)\n[00007f5a94000c80] main input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 1 ms)<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u3053\u306e\u72b6\u614b\u3067Android\u5074\u3067\u97f3\u3092\u518d\u751f\u3057\u3066\u307f\u308b\u3068PC\u5074\u304b\u3089\u805e\u3053\u3048\u307e\u3059\uff0e\u3053\u306e\u3068\u304dAndroid\u5074\u306f\u30df\u30e5\u30fc\u30c8\u3067\u3082OK\u3067\uff0c\u97f3\u91cf\u3092\u4e0a\u3052\u308b\u3068Android\/PC\u4e21\u65b9\u304b\u3089\u97f3\u304c\u51fa\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u3068\u3044\u3046\u3053\u3068\u3067\u7c21\u5358\u306b\u52d5\u4f5c\u3057\u305f\u306e\u3067\u3059\u304c\u554f\u984c\u304c\uff0e\u304b\u306a\u308a\u97f3\u304c\u60aa\u3044\u3067\u3059\uff0e\u97f3\u8cea\u306f\u3044\u3044\u3051\u3069\u7d30\u304b\u304f\u9014\u5207\u308c\u308b\u611f\u3058\u3067\u3059\uff0e\u4ee5\u4e0b\u306eIssue\u304c\u8fd1\u3044\u304b\u306a?<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a href=\"https:\/\/github.com\/rom1v\/sndcpy\/issues\/104\">Audio crackling when playing short sounds \u00b7 Issue #104 \u00b7 rom1v\/sndcpy<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>\u3068\u3044\u3046\u3053\u3068\u3067\u4e00\u65e6\u4f7f\u3046\u306e\u3092\u3084\u3081\u308b\u3053\u3068\u306b\u3057\u307e\u3059\uff0esndcpy\u306fAndroid\u306bsndcpy.apk\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u306e\u3067\u3053\u308c\u3092\u524a\u9664\u3057\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ adb uninstall com.rom1v.sndcpy\nSuccess<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u3053\u308c\u3067\u5143\u306b\u623b\u3063\u305f\u306f\u305a\u3067\u3059\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>sndcpy \u306f\u73fe\u6bb5\u968e\u3067\u306f\u74b0\u5883\u3092\u9078\u3076(Android 10\u4ee5\u964d)\u3057\u97f3\u3082\u3044\u307e\u3044\u3061\u306a\u306e\u3067\u3053\u308c\u304b\u3089\u306b\u671f\u5f85\u3067\u3059\uff0e\u3068\u308a\u3042\u3048\u305a\u306f\u3053\u308c\u307e\u3067\u901a\u308aBluetooth A2DP\u3067\u7e4b\u3054\u3046\u3068\u601d\u3044\u307e\u3059\uff0e(\u3053\u308c\u306f\u3053\u308c\u30672\u53f0\u540c\u6642\u306b\u63a5\u7d9a\u3067\u304d\u306a\u3044\u3068\u3044\u3046\u554f\u984c\u304c\u3042\u308a\u307e\u3059)<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"data:image\/jpg;base64,\/9j\/4AAQSkZJRgABAQAAAQABAAD\/2wEEEAAUABQAFAAUABUAFAAXABkAGQAXAB8AIgAeACIAHwAuACsAJwAnACsALgBGADIANgAyADYAMgBGAGoAQgBOAEIAQgBOAEIAagBeAHIAXQBWAF0AcgBeAKkAhQB2AHYAhQCpAMMApACbAKQAwwDsANMA0wDsASoBGwEqAYUBhQILEQAUABQAFAAUABUAFAAXABkAGQAXAB8AIgAeACIAHwAuACsAJwAnACsALgBGADIANgAyADYAMgBGAGoAQgBOAEIAQgBOAEIAagBeAHIAXQBWAF0AcgBeAKkAhQB2AHYAhQCpAMMApACbAKQAwwDsANMA0wDsASoBGwEqAYUBhQIL\/8IAEQgASQKeAwEiAAIRAQMRAf\/EABoAAQADAQEBAAAAAAAAAAAAAAACAwQBBQb\/2gAIAQEAAAAA+zAAAAAAAAAAAAAA+bt99wchaAAAAAAAAAAABz5HZ9DnzThoyzlR6dgAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAC1nzWXxthdVKSpWlCucdFEqNXaKp39kV0kbZrGeOoAAAADmfQvUT8\/Q2eX6eC3z\/WiyqPRyX5tOXTjtlZzHux6oaM2HT2vdDizLLXIAAAADxPbXgAKOAAADnQBzoAAAAAaAAEKwAAAAAAAAAAE7AAAAAAAAAAAAAAP\/8QAFwEBAQEBAAAAAAAAAAAAAAAAAAECA\/\/aAAgBAhAAAACKAAAAAAOe6AAAAAAAAAAAAAAAAAAAAAAAAAAAP\/\/EABQBAQAAAAAAAAAAAAAAAAAAAAD\/2gAIAQMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/8QAPxAAAgECBQICBwMJCAMAAAAAAQIDABEEE1JhkhKhITEFEBQiQXHRM0JRFTAyVGCBk7HBIyRAQ1BVY3JikeL\/2gAIAQEAAT8A\/ZTEytDhp5VAJSNmF9hR9P4wX92Lh\/8AdYbHzT4mF5JGXqltZfoTTMqC7MAPxNe14S3V7RFa9r9Yp5oYrZkiJfy6iBRxmHGJGGLqHKXHiKWaFnKLIhceagi4p5oYrZkiJfy6iBUmImVeuGBZI+jq6swCvbwXwgWF+me3vnwAupavaUz2iNh0hbsT95vJazYh13dfc\/T8f0fnUc4eWWO1ilj81byP7D41WfB4pVBLGFwBQwBe5aLEi5NxlvXoyBziUT34ijM5BBva616RRpMI6qpYlk8B\/wBhT4YHGYw5PuthUAPTUSvCYmnw8jhsHEgshaxHmprDRTYd8MHR7nC5dwCwVr1h42K4CLIdJYXvI5WsQMvGSSSQu6PAFUheqxBNxUeTL6NwkUsWJ+wUgxhqd5lX0bnRSl426n6Y2IA6TpqWJpW9JoPGQNHLH+5aME5ZWynAxf22wDdQvSe96UmI8lw6KfmST+x80Gd\/nSILWIUgXpVVFVVFgAAB6uhevrsOq1r7epUVSxAALG53P7KMSWt8AKsN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GrDfkasN+Rqw35GlYqy2J8fX7bjv9sk5pWEx+NmxU\/XF0xJ1Bl0kb1B6Rx2IiSWP0ddG8jnLWGx004xQOFKywm3R1g3Ne1+kv9rb+MlYXHpPhGxLplqpYH4+Vflj0b+sjiaBDAEeRFYr0lFCcqEZ058kWsbipcLhVl6FL9SAjdjWGxTTT4uIqAIXCig6FmUMCy+Yv4i9H7Q\/IeoSgzPEAbqqsT\/2v9KhlE0YcAjzBH4EGxFPIkalnYKo+JpJWdGfKYaQfAtWfP8AqcvJPrUU6SQiU+4vjfq+Fq9swn6xFyHqlxCoQijrkPkgqSZIrdQc30ozfyFYbGCdIyY5AWGhrU7qgBY2BIH7ybCuoXtcX\/CmmlDEDCytuCn1qPEzPOUyioHmCO9wSKmxTQhicPIQCB1Ar9ajaRlu6BTfyBvQdS7Jf3lAJGxoMGFwQR65Jeh4ktcu1vqa9qHtWR0eGu\/3vPpqbESw3Yw3jBF26vH5gU085mkjjhRggUkl7edHFnJR0juxkCFWNrNUM7O7xunQ6gGwNwQaWYNLJHYhkt+8Gs0Zwit5oWv62mmBP92YgfHqX60MUDhRiOghfMg6fx\/0BnVFLMwVR5kmwr27B\/rUPMUrq6hlYMp8iDcV95Pn\/T1zY9w7w4fCyyyjaycqwuGfD4N1duqV+p3P4s1ejsY2GwUEL4LGdSL8IjXozrafHymGRFeRSodStS+kJpw0eDw8hbyzHHQi1hYEweFSIG4RfE1FhpPSLYmV3dMPK62TWiCsRhIsSqo\/WFX4KxWsHhosN6WnSGMIns6V6RD4l4MIkbWMiu7\/AACrT+1Z\/pOCGF7zuBmeSKtqwqRRTTImGZCqoDKR4PYU32h+Q9WFVv7WVwQ0j3sfMKPAVErJPiEsQjWcHc+BrEYaNBE4BZ8+L3mJY\/pep53cFIEYtrKkKtRIsMSIPJFtSo+IDszMImkuFPxUAVJGJAAWYDZiv8qw8SRYrEhECr0R\/wBakE5Iy5EUboW\/qKwSYjKH9stlkcEdH4NWOhWSCRrEsqXAubXXxqLDRpKZVVFHTZQq2qScIekI7t+CrUEboHZ7dbt1Nt8AKnw6OVhTOLFlLHMchVqOFIySpc31OzfzNPhYhiV9wN1RN+ndxdTvUeHRIBDc2+JBK+JNz5V7HB\/y\/wAV\/rSIsahVvYfiS3c1MenF4Zj5dMg\/f4GjBi8jOuOrNzsvoPXU8vXMI2jlylsxIjY9ZoSZWKnJjlIZUsVRjTwSmJfBld8SHNvErUUIjLN1M7ta7NtUrxxuGy3aQrYdKkm1QI\/W80os72AXSor2OD\/l\/iv9ajhjhv09fj+Ls38yalE+LQhBlx\/+Y8X+gqaUNgpyUKkIylDUYKogPmFAP+PNiCDX5Dw\/teb\/AJWihYAAV95Pn\/T8+32h+Q\/w7KrWuAbG4\/NsquLMARcH\/wBf6H95Pn+feMNsayjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqyjrbtWUdbdqSMKbkkn9lv\/\/EAB4RAAICAAcAAAAAAAAAAAAAAAECABEDEiEiUHBx\/9oACAECAQE\/AC1Qa8S+Hnrey+QCgOp\/\/8QAFBEBAAAAAAAAAAAAAAAAAAAAcP\/aAAgBAwEBPwBS\/9k=\" alt=\"sndcpy a2dp source\"\/><\/span><\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"title\">\u74b0\u5883<\/div>\n<div class=\"content\">\n<pre>$ dpkg-query -W adb\nadb     1:10.0.0+r36-7\n$ lsb_release -dr\nDescription:    Debian GNU\/Linux 11 (bullseye)\nRelease:        11\n$ arch\nx86_64<\/pre>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Android\u306e\u30aa\u30fc\u30c7\u30a3\u30aa\u3092PC\u306b\u8ee2\u9001\u3057\u3066\u8996\u8074\u3068\u3044\u3046\u3053\u3068\u3092\u3088\u304f\u3084\u308b\u306e\u3067\u3059\u304c\uff0c\u6614\u306f3.5mm\u30aa\u30fc\u30c7\u30a3\u30aa\u30df\u30cb\u30b8\u30e3\u30c3\u30af\u3067\u6700\u8fd1\u306fBluetooth A2DP source\u3067\u8ee2\u9001\u3057\u3066\u3044\u307e\u3059\uff0e \u4eca\u56deUSB\u3067\u8ee2\u9001\u3067\u304d\u308b sndcpy  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[21,658,7,6],"tags":[283,706],"class_list":["post-3564","post","type-post","status-publish","format-standard","hentry","category-android","category-bullseye","category-debian-linux","category-linux","tag-android","tag-sndcpy"],"_links":{"self":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/3564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/comments?post=3564"}],"version-history":[{"count":0,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/3564\/revisions"}],"wp:attachment":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/media?parent=3564"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/categories?post=3564"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/tags?post=3564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}