From fcf6ed186b22045808b615bbbebf8a8c046e5a84 Mon Sep 17 00:00:00 2001 From: litingting Date: Wed, 12 Nov 2025 14:24:52 +0800 Subject: [PATCH] init --- .gitignore | 15 + app/.gitignore | 1 + app/FunkyVoice.jks | Bin 0 -> 2552 bytes app/build.gradle.kts | 67 + app/objectbox-models/default.json | 109 + app/proguard-rules.pro | 32 + .../theprankapp/ExampleInstrumentedTest.kt | 24 + app/src/main/AndroidManifest.xml | 57 + app/src/main/assets/pranksounds.json | 3791 +++++++++++++++++ .../main/java/com/prank/funky/voice/App.kt | 42 + .../voice/collection/CollectionActivity.kt | 87 + .../voice/collection/CollectionAdapter.kt | 49 + .../prank/funky/voice/home/HomeActivity.kt | 58 + .../com/prank/funky/voice/home/HomeAdapter.kt | 51 + .../funky/voice/objectBox/DbBaseFunction.kt | 79 + .../funky/voice/objectBox/EntitySounds.kt | 19 + .../voice/objectBox/EntitySoundsDetail.kt | 28 + .../voice/playSounds/CustomerRippleView.kt | 133 + .../voice/playSounds/PlaySoundsActivity.kt | 285 ++ .../voice/playSounds/PopupWindowsTimer.kt | 111 + .../voice/recordSounds/CustomActivity.kt | 140 + .../funky/voice/recordSounds/CustomAdapter.kt | 47 + .../funky/voice/recordSounds/ImportManager.kt | 106 + .../funky/voice/recordSounds/RecordHelper.kt | 63 + .../funky/voice/recordSounds/RecordManager.kt | 45 + .../recordSounds/RecordSoundsActivity.kt | 136 + .../voice/recordSounds/SaveSoundsDialog.kt | 82 + .../funky/voice/soundsList/ListActivity.kt | 79 + .../funky/voice/soundsList/ListAdapter.kt | 41 + .../prank/funky/voice/utils/BaseAdapter.kt | 50 + .../prank/funky/voice/utils/RecyclerSpace.kt | 77 + .../java/com/prank/funky/voice/utils/Util.kt | 187 + .../funky/voice/welcome/WelcomeActivity.kt | 56 + .../selector_clock_timer_display_color.xml | 5 + .../bg_dialog_edittext_background.xml | 6 + .../bg_dialog_save_audio_background.xml | 6 + app/src/main/res/drawable/bg_main_shape1.xml | 6 + app/src/main/res/drawable/bg_main_shape2.xml | 6 + app/src/main/res/drawable/bg_main_shape3.xml | 6 + app/src/main/res/drawable/bg_main_shape4.xml | 6 + .../main/res/drawable/bg_main_stoke_bg.xml | 20 + .../main/res/drawable/bg_playsounds_oval1.xml | 6 + .../res/drawable/ic_launcher_background.xml | 170 + .../res/drawable/ic_launcher_foreground.xml | 30 + app/src/main/res/drawable/icon_back_black.xml | 9 + app/src/main/res/drawable/icon_favorite.xml | 15 + app/src/main/res/drawable/icon_music.xml | 15 + .../drawable/icon_playsounds_collection.xml | 15 + .../icon_playsounds_countdowm_timer.xml | 12 + .../icon_playsounds_countdowm_timer_gray.xml | 12 + .../drawable/icon_playsounds_loop_gray.xml | 9 + .../drawable/icon_playsounds_loop_light.xml | 9 + .../res/drawable/icon_playsounds_pause.xml | 16 + .../res/drawable/icon_playsounds_pb_thumb.xml | 8 + .../res/drawable/icon_playsounds_play.xml | 12 + .../res/drawable/icon_playsounds_volum.xml | 9 + app/src/main/res/drawable/icon_recorder.xml | 9 + app/src/main/res/drawable/icon_recording.xml | 21 + .../res/drawable/image_favorite_empty.xml | 57 + .../drawable/selector_playsounds_favorite.xml | 6 + .../drawable/selector_playsounds_looper.xml | 6 + .../drawable/selector_playsounds_paly_btn.xml | 6 + .../drawable/selector_playsounds_timer.xml | 6 + app/src/main/res/drawable/volume_progress.xml | 21 + app/src/main/res/drawable/welcome_bg.xml | 6 + .../main/res/drawable/welcome_progress.xml | 21 + .../main/res/layout/activity_collection.xml | 67 + app/src/main/res/layout/activity_custom.xml | 111 + app/src/main/res/layout/activity_home.xml | 58 + app/src/main/res/layout/activity_list.xml | 40 + .../main/res/layout/activity_play_sounds.xml | 181 + app/src/main/res/layout/activity_record.xml | 85 + app/src/main/res/layout/activity_welcome.xml | 40 + .../main/res/layout/collection_adapter.xml | 31 + .../main/res/layout/custom_audio_adapter.xml | 44 + app/src/main/res/layout/dialog_save_audio.xml | 74 + app/src/main/res/layout/dialog_timer.xml | 115 + app/src/main/res/layout/home_adapter.xml | 26 + app/src/main/res/layout/list_adapter.xml | 26 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 + app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes app/src/main/res/mipmap-xxxhdpi/logo.png | Bin 0 -> 232239 bytes app/src/main/res/values/colors.xml | 26 + app/src/main/res/values/strings.xml | 27 + app/src/main/res/values/themes.xml | 5 + app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + .../funny/theprankapp/ExampleUnitTest.kt | 17 + build.gradle.kts | 11 + gradle.properties | 23 + gradle/libs.versions.toml | 40 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 185 + gradlew.bat | 89 + keystore.properties | 6 + settings.gradle.kts | 24 + 107 files changed, 8115 insertions(+) create mode 100644 .gitignore create mode 100644 app/.gitignore create mode 100644 app/FunkyVoice.jks create mode 100644 app/build.gradle.kts create mode 100644 app/objectbox-models/default.json create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/sounds/funny/theprankapp/ExampleInstrumentedTest.kt create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/assets/pranksounds.json create mode 100644 app/src/main/java/com/prank/funky/voice/App.kt create mode 100644 app/src/main/java/com/prank/funky/voice/collection/CollectionActivity.kt create mode 100644 app/src/main/java/com/prank/funky/voice/collection/CollectionAdapter.kt create mode 100644 app/src/main/java/com/prank/funky/voice/home/HomeActivity.kt create mode 100644 app/src/main/java/com/prank/funky/voice/home/HomeAdapter.kt create mode 100644 app/src/main/java/com/prank/funky/voice/objectBox/DbBaseFunction.kt create mode 100644 app/src/main/java/com/prank/funky/voice/objectBox/EntitySounds.kt create mode 100644 app/src/main/java/com/prank/funky/voice/objectBox/EntitySoundsDetail.kt create mode 100644 app/src/main/java/com/prank/funky/voice/playSounds/CustomerRippleView.kt create mode 100644 app/src/main/java/com/prank/funky/voice/playSounds/PlaySoundsActivity.kt create mode 100644 app/src/main/java/com/prank/funky/voice/playSounds/PopupWindowsTimer.kt create mode 100644 app/src/main/java/com/prank/funky/voice/recordSounds/CustomActivity.kt create mode 100644 app/src/main/java/com/prank/funky/voice/recordSounds/CustomAdapter.kt create mode 100644 app/src/main/java/com/prank/funky/voice/recordSounds/ImportManager.kt create mode 100644 app/src/main/java/com/prank/funky/voice/recordSounds/RecordHelper.kt create mode 100644 app/src/main/java/com/prank/funky/voice/recordSounds/RecordManager.kt create mode 100644 app/src/main/java/com/prank/funky/voice/recordSounds/RecordSoundsActivity.kt create mode 100644 app/src/main/java/com/prank/funky/voice/recordSounds/SaveSoundsDialog.kt create mode 100644 app/src/main/java/com/prank/funky/voice/soundsList/ListActivity.kt create mode 100644 app/src/main/java/com/prank/funky/voice/soundsList/ListAdapter.kt create mode 100644 app/src/main/java/com/prank/funky/voice/utils/BaseAdapter.kt create mode 100644 app/src/main/java/com/prank/funky/voice/utils/RecyclerSpace.kt create mode 100644 app/src/main/java/com/prank/funky/voice/utils/Util.kt create mode 100644 app/src/main/java/com/prank/funky/voice/welcome/WelcomeActivity.kt create mode 100644 app/src/main/res/color/selector_clock_timer_display_color.xml create mode 100644 app/src/main/res/drawable/bg_dialog_edittext_background.xml create mode 100644 app/src/main/res/drawable/bg_dialog_save_audio_background.xml create mode 100644 app/src/main/res/drawable/bg_main_shape1.xml create mode 100644 app/src/main/res/drawable/bg_main_shape2.xml create mode 100644 app/src/main/res/drawable/bg_main_shape3.xml create mode 100644 app/src/main/res/drawable/bg_main_shape4.xml create mode 100644 app/src/main/res/drawable/bg_main_stoke_bg.xml create mode 100644 app/src/main/res/drawable/bg_playsounds_oval1.xml create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/icon_back_black.xml create mode 100644 app/src/main/res/drawable/icon_favorite.xml create mode 100644 app/src/main/res/drawable/icon_music.xml create mode 100644 app/src/main/res/drawable/icon_playsounds_collection.xml create mode 100644 app/src/main/res/drawable/icon_playsounds_countdowm_timer.xml create mode 100644 app/src/main/res/drawable/icon_playsounds_countdowm_timer_gray.xml create mode 100644 app/src/main/res/drawable/icon_playsounds_loop_gray.xml create mode 100644 app/src/main/res/drawable/icon_playsounds_loop_light.xml create mode 100644 app/src/main/res/drawable/icon_playsounds_pause.xml create mode 100644 app/src/main/res/drawable/icon_playsounds_pb_thumb.xml create mode 100644 app/src/main/res/drawable/icon_playsounds_play.xml create mode 100644 app/src/main/res/drawable/icon_playsounds_volum.xml create mode 100644 app/src/main/res/drawable/icon_recorder.xml create mode 100644 app/src/main/res/drawable/icon_recording.xml create mode 100644 app/src/main/res/drawable/image_favorite_empty.xml create mode 100644 app/src/main/res/drawable/selector_playsounds_favorite.xml create mode 100644 app/src/main/res/drawable/selector_playsounds_looper.xml create mode 100644 app/src/main/res/drawable/selector_playsounds_paly_btn.xml create mode 100644 app/src/main/res/drawable/selector_playsounds_timer.xml create mode 100644 app/src/main/res/drawable/volume_progress.xml create mode 100644 app/src/main/res/drawable/welcome_bg.xml create mode 100644 app/src/main/res/drawable/welcome_progress.xml create mode 100644 app/src/main/res/layout/activity_collection.xml create mode 100644 app/src/main/res/layout/activity_custom.xml create mode 100644 app/src/main/res/layout/activity_home.xml create mode 100644 app/src/main/res/layout/activity_list.xml create mode 100644 app/src/main/res/layout/activity_play_sounds.xml create mode 100644 app/src/main/res/layout/activity_record.xml create mode 100644 app/src/main/res/layout/activity_welcome.xml create mode 100644 app/src/main/res/layout/collection_adapter.xml create mode 100644 app/src/main/res/layout/custom_audio_adapter.xml create mode 100644 app/src/main/res/layout/dialog_save_audio.xml create mode 100644 app/src/main/res/layout/dialog_timer.xml create mode 100644 app/src/main/res/layout/home_adapter.xml create mode 100644 app/src/main/res/layout/list_adapter.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/logo.png create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/main/res/xml/data_extraction_rules.xml create mode 100644 app/src/test/java/com/sounds/funny/theprankapp/ExampleUnitTest.kt create mode 100644 build.gradle.kts create mode 100644 gradle.properties create mode 100644 gradle/libs.versions.toml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 keystore.properties create mode 100644 settings.gradle.kts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/FunkyVoice.jks b/app/FunkyVoice.jks new file mode 100644 index 0000000000000000000000000000000000000000..7cfd11aea5bcf9fae8860ee46e8a41038d1ca208 GIT binary patch literal 2552 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 literal 0 HcmV?d00001 diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..6e2c4a9 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,67 @@ +import java.util.Date +import java.text.SimpleDateFormat +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.compose) + id("io.objectbox") +} +val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) +android { + namespace = "com.prank.funky.voice" + compileSdk = 35 + + defaultConfig { + applicationId = "com.prank.funky.voice" + minSdk = 24 + targetSdk = 35 + versionCode = 1 + versionName = "1.0" + setProperty("archivesBaseName", "FunkyVoice_V" + versionName + "(${versionCode})_$timestamp") + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = true + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + kotlinOptions { + jvmTarget = "11" + } + buildFeatures { + viewBinding = true + } +} + +dependencies { + + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.lifecycle.runtime.ktx) + implementation(libs.androidx.activity.compose) + implementation(platform(libs.androidx.compose.bom)) + implementation(libs.androidx.ui) + implementation(libs.androidx.ui.graphics) + implementation(libs.androidx.ui.tooling.preview) + implementation(libs.androidx.material3) + implementation(libs.androidx.appcompat) + implementation(libs.material) + implementation(libs.androidx.activity) + implementation(libs.androidx.constraintlayout) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.junit) + androidTestImplementation(libs.androidx.espresso.core) + androidTestImplementation(platform(libs.androidx.compose.bom)) + androidTestImplementation(libs.androidx.ui.test.junit4) + debugImplementation(libs.androidx.ui.tooling) + debugImplementation(libs.androidx.ui.test.manifest) + implementation ("com.github.bumptech.glide:glide:4.16.0") +} \ No newline at end of file diff --git a/app/objectbox-models/default.json b/app/objectbox-models/default.json new file mode 100644 index 0000000..8a0272b --- /dev/null +++ b/app/objectbox-models/default.json @@ -0,0 +1,109 @@ +{ + "_note1": "KEEP THIS FILE! Check it into a version control system (VCS) like git.", + "_note2": "ObjectBox manages crucial IDs for your object model. See docs for details.", + "_note3": "If you have VCS merge conflicts, you must resolve them according to ObjectBox docs.", + "entities": [ + { + "id": "3:2765052130869583396", + "lastPropertyId": "3:6236996964031349478", + "name": "EntitySounds", + "properties": [ + { + "id": "1:5164626891309238159", + "name": "id", + "type": 6, + "flags": 1 + }, + { + "id": "2:623595642016909498", + "name": "name", + "type": 9 + }, + { + "id": "3:6236996964031349478", + "name": "covert", + "type": 9 + } + ], + "relations": [ + { + "id": "2:7923194685831121399", + "name": "entitySoundsDetailList", + "targetId": "4:4417687023652744495" + } + ] + }, + { + "id": "4:4417687023652744495", + "lastPropertyId": "7:3184593639987712609", + "name": "EntitySoundsDetail", + "properties": [ + { + "id": "1:8661368180635646655", + "name": "id", + "type": 6, + "flags": 1 + }, + { + "id": "2:1592243912345810464", + "name": "name", + "type": 9 + }, + { + "id": "3:4698482079418305236", + "name": "covert", + "type": 9 + }, + { + "id": "4:4993413492996791852", + "name": "soundsPath", + "type": 9 + }, + { + "id": "5:6369449011390216196", + "name": "isLike", + "type": 1 + }, + { + "id": "6:6434336433645459276", + "name": "isCustomization", + "type": 1 + }, + { + "id": "7:3184593639987712609", + "name": "colorIndex", + "type": 5 + } + ], + "relations": [] + } + ], + "lastEntityId": "4:4417687023652744495", + "lastIndexId": "0:0", + "lastRelationId": "2:7923194685831121399", + "lastSequenceId": "0:0", + "modelVersion": 5, + "modelVersionParserMinimum": 5, + "retiredEntityUids": [ + 8407318924071742, + 3291095796857804749 + ], + "retiredIndexUids": [], + "retiredPropertyUids": [ + 3102693164112875939, + 1199147246499509324, + 7954483026570234729, + 1980648303218983721, + 4412998170453317817, + 8606939009768073387, + 9206178868285963197, + 2627505466161450469, + 8487142908259107486, + 5933482487640104252, + 5318713824755369776 + ], + "retiredRelationUids": [ + 1942152868705305926 + ], + "version": 1 +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..0cf19be --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,32 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile + +# 保留Processor类,这些类用于在编译时生成ObjectBox需要的代码 +-keep @io.objectbox.annotation.processor.Processor class * { + *; +} + +# 保留ObjectBox的关键方法和构造函数 +-keepclassmembers class * extends io.objectbox.Box { + (...); + ; +} \ No newline at end of file diff --git a/app/src/androidTest/java/com/sounds/funny/theprankapp/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/sounds/funny/theprankapp/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..7e9662e --- /dev/null +++ b/app/src/androidTest/java/com/sounds/funny/theprankapp/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.sounds.funny.theprankapp + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.sounds.funny.theprankapp", appContext.packageName) + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..39397c0 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/pranksounds.json b/app/src/main/assets/pranksounds.json new file mode 100644 index 0000000..7539667 --- /dev/null +++ b/app/src/main/assets/pranksounds.json @@ -0,0 +1,3791 @@ +[ + + + { + "categoryId": "625f83491fea07887e619068", + "categoryName": "Door Bell", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Door Bell.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Door Bell/funny_doorbell_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Door Bell.png", + "title": "Door Bell 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Door Bell/funny_doorbell_10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Door Bell.png", + "title": "Door Bell 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Door Bell/funny_doorbell_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Door Bell.png", + "title": "Door Bell 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Door Bell/funny_doorbell_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Door Bell.png", + "title": "Door Bell 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Door Bell/funny_doorbell_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Door Bell.png", + "title": "Door Bell 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Door Bell/funny_doorbell_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Door Bell.png", + "title": "Door Bell 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Door Bell/funny_doorbell_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Door Bell.png", + "title": "Door Bell 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Door Bell/funny_doorbell_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Door Bell.png", + "title": "Door Bell 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Door Bell/funny_doorbell_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Door Bell.png", + "title": "Door Bell 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Door Bell/funny_doorbell_9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Door Bell.png", + "title": "Door Bell 10" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906a", + "categoryName": "Gun", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Gun.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_13.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gun/gun_9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gun.png", + "title": "Gun 13" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906c", + "categoryName": "Laughing \u0026 Clapping", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Laughing \u0026 clapping.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing _ Clapping/laughing_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing \u0026 clapping.png", + "title": "Laughing \u0026 Clapping 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing _ Clapping/laughing_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing \u0026 clapping.png", + "title": "Laughing \u0026 Clapping 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing _ Clapping/laughing_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing \u0026 clapping.png", + "title": "Laughing \u0026 Clapping 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing _ Clapping/laughing_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing \u0026 clapping.png", + "title": "Laughing \u0026 Clapping 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing _ Clapping/laughing_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing \u0026 clapping.png", + "title": "Laughing \u0026 Clapping 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing _ Clapping/laughing_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing \u0026 clapping.png", + "title": "Laughing \u0026 Clapping 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing _ Clapping/laughing_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing \u0026 clapping.png", + "title": "Laughing \u0026 Clapping 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing _ Clapping/laughing_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing \u0026 clapping.png", + "title": "Laughing \u0026 Clapping 8" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906d", + "categoryName": "Man Cough", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Man Cough.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Cough/funny_man_cough_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Cough.png", + "title": "Man Cough 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Cough/funny_man_cough_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Cough.png", + "title": "Man Cough 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Cough/funny_man_cough_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Cough.png", + "title": "Man Cough 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Cough/funny_man_cough_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Cough.png", + "title": "Man Cough 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Cough/funny_man_cough_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Cough.png", + "title": "Man Cough 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Cough/funny_man_cough_strong_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Cough.png", + "title": "Man Cough 6" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906e", + "categoryName": "Man Sneeze", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Man Sneeze.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Sneeze/funny_man_sneeze_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Sneeze.png", + "title": "Man Sneeze 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Sneeze/funny_man_sneeze_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Sneeze.png", + "title": "Man Sneeze 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Sneeze/funny_man_sneeze_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Sneeze.png", + "title": "Man Sneeze 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Sneeze/funny_man_sneeze_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Sneeze.png", + "title": "Man Sneeze 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Sneeze/funny_man_sneeze_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Sneeze.png", + "title": "Man Sneeze 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Man Sneeze/funny_man_sneeze_strong_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Man Sneeze.png", + "title": "Man Sneeze 6" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906f", + "categoryName": "Police", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Police.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Police/funny_police_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Police.png", + "title": "Police 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Police/funny_police_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Police.png", + "title": "Police 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Police/funny_police_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Police.png", + "title": "Police 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Police/funny_police_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Police.png", + "title": "Police 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Police/funny_police_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Police.png", + "title": "Police 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Police/funny_police_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Police.png", + "title": "Police 6" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd42", + "categoryName": "Cuckoo Clock", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Cuckoo Clock.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock01.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock01.png", + "title": "Cuckoo Clock 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock02.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock02.png", + "title": "Cuckoo Clock 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock03.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock03.png", + "title": "Cuckoo Clock 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock04.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock04.png", + "title": "Cuckoo Clock 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock05.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock05.png", + "title": "Cuckoo Clock 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock06.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock06.png", + "title": "Cuckoo Clock 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock07.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock07.png", + "title": "Cuckoo Clock 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock08.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock08.png", + "title": "Cuckoo Clock 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock09.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock09.png", + "title": "Cuckoo Clock 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock10.png", + "title": "Cuckoo Clock 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock11.png", + "title": "Cuckoo Clock 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock12.png", + "title": "Cuckoo Clock 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock13.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock13.png", + "title": "Cuckoo Clock 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock14.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock14.png", + "title": "Cuckoo Clock 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock15.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock15.png", + "title": "Cuckoo Clock 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Cuckoo Clock/Cuckoo Clock16.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Cuckoo Clock/Cuckoo Clock16.png", + "title": "Cuckoo Clock 16" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd43", + "categoryName": "Fireworks", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Fireworks.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Fireworks Rocket01.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Fireworks Rocket01.png", + "title": "Fireworks 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Fireworks Rocket02.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Fireworks Rocket02.png", + "title": "Fireworks 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Fireworks01.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Fireworks01.png", + "title": "Fireworks 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Fireworks02.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Fireworks02.png", + "title": "Fireworks 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Fireworks03.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Fireworks03.png", + "title": "Fireworks 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Kisspng fireworks cake.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Kisspng fireworks cake.png", + "title": "Fireworks 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Paper fireworks01.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Paper fireworks01.png", + "title": "Fireworks 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Paper fireworks02.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Paper fireworks02.png", + "title": "Fireworks 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Sparkler Fireworks01.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Sparkler Fireworks01.png", + "title": "Fireworks 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Sparkler Fireworks02.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Sparkler Fireworks02.png", + "title": "Fireworks 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Tet fireworks01.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Tet fireworks01.png", + "title": "Fireworks 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Tet fireworks02.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Tet fireworks02.png", + "title": "Fireworks 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fireworks/Tet fireworks03.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fireworks/Tet fireworks03.png", + "title": "Fireworks 14" + } + ] + }, + { + "categoryId": "625f83491fea07887e619069", + "categoryName": "Fart Sound", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Fart Sound.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_dj_initial.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_dj_short.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_13.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_14.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_15.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 16" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_fart_9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Sound.png", + "title": "Fart Sound 17" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906b", + "categoryName": "Hair Clipper", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Hair Clipper.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Clipper/hairclipper_9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Clipper.png", + "title": "Hair Clipper 12" + } + ] + }, + { + "categoryId": "625f83491fea07887e619064", + "categoryName": "Baby Sneeze", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Baby Sneeze.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby Sneeze/funny_baby_sneeze_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby Sneeze.png", + "title": "Baby Sneeze 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby Sneeze/funny_baby_sneeze_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby Sneeze.png", + "title": "Baby Sneeze 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby Sneeze/funny_baby_sneeze_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby Sneeze.png", + "title": "Baby Sneeze 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby Sneeze/funny_baby_sneeze_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby Sneeze.png", + "title": "Baby Sneeze 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby Sneeze/funny_baby_sneeze_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby Sneeze.png", + "title": "Baby Sneeze 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby Sneeze/funny_baby_sneeze_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby Sneeze.png", + "title": "Baby Sneeze 6" + } + ] + }, + { + "categoryId": "625f83491fea07887e619065", + "categoryName": "Breaking", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Breaking.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Breaking/breaking_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Breaking.png", + "title": "Breaking 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Breaking/breaking_10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Breaking.png", + "title": "Breaking 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Breaking/breaking_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Breaking.png", + "title": "Breaking 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Breaking/breaking_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Breaking.png", + "title": "Breaking 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Breaking/breaking_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Breaking.png", + "title": "Breaking 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Breaking/breaking_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Breaking.png", + "title": "Breaking 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Breaking/breaking_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Breaking.png", + "title": "Breaking 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Breaking/breaking_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Breaking.png", + "title": "Breaking 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Breaking/breaking_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Breaking.png", + "title": "Breaking 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Breaking/breaking_9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Breaking.png", + "title": "Breaking 10" + } + ] + }, + { + "categoryId": "625f83491fea07887e619063", + "categoryName": "Airhorn", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Airhorn.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Airhorn/funny_airhorn_13.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Airhorn.png", + "title": "Airhorn 13" + } + ] + }, + { + "categoryId": "625f83491fea07887e619071", + "categoryName": "Toilet Flushing", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Toilet Flushing.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Toilet Flushing/toiletflushing_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Toilet Flushing.png", + "title": "Toilet Flushing 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Toilet Flushing/toiletflushing_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Toilet Flushing.png", + "title": "Toilet Flushing 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Toilet Flushing/toiletflushing_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Toilet Flushing.png", + "title": "Toilet Flushing 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Toilet Flushing/toiletflushing_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Toilet Flushing.png", + "title": "Toilet Flushing 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Toilet Flushing/toiletflushing_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Toilet Flushing.png", + "title": "Toilet Flushing 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Toilet Flushing/toiletflushing_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Toilet Flushing.png", + "title": "Toilet Flushing 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Toilet Flushing/toiletflushing_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Toilet Flushing.png", + "title": "Toilet Flushing 7" + } + ] + }, + { + "categoryId": "625f83491fea07887e619072", + "categoryName": "Woman Cough", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Woman Cough.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Cough/funny_woman_cough_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Cough.png", + "title": "Woman Cough 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Cough/funny_woman_cough_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Cough.png", + "title": "Woman Cough 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Cough/funny_woman_cough_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Cough.png", + "title": "Woman Cough 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Cough/funny_woman_cough_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Cough.png", + "title": "Woman Cough 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Cough/funny_woman_cough_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Cough.png", + "title": "Woman Cough 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Cough/funny_woman_cough_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Cough.png", + "title": "Woman Cough 6" + } + ] + }, + { + "categoryId": "625f83491fea07887e619073", + "categoryName": "Woman Sneeze", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Woman Sneeze.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Sneeze/funny_woman_sneeze_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Sneeze.png", + "title": "Woman Sneeze 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Sneeze/funny_woman_sneeze_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Sneeze.png", + "title": "Woman Sneeze 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Sneeze/funny_woman_sneeze_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Sneeze.png", + "title": "Woman Sneeze 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Sneeze/funny_woman_sneeze_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Sneeze.png", + "title": "Woman Sneeze 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Sneeze/funny_woman_sneeze_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Sneeze.png", + "title": "Woman Sneeze 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Woman Sneeze/funny_woman_sneeze_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Woman Sneeze.png", + "title": "Woman Sneeze 6" + } + ] + }, + { + "categoryId": "6260b076d7ddc35b5bd96175", + "categoryName": "Fart Song", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Fart Song.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fart/fart_song_9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fart Song.png", + "title": "Fart Song 12" + } + ] + }, + { + "categoryId": "62be51874d4edd56b588d54d", + "categoryName": "Hair Dryer", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Hair Dryer.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Dryer/Hair_dryer_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Dryer.png", + "title": "Hair Dryer 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Dryer/Hair_dryer_10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Dryer.png", + "title": "Hair Dryer 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Dryer/Hair_dryer_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Dryer.png", + "title": "Hair Dryer 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Dryer/Hair_dryer_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Dryer.png", + "title": "Hair Dryer 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Dryer/Hair_dryer_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Dryer.png", + "title": "Hair Dryer 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Dryer/Hair_dryer_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Dryer.png", + "title": "Hair Dryer 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Dryer/Hair_dryer_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Dryer.png", + "title": "Hair Dryer 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Dryer/Hair_dryer_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Dryer.png", + "title": "Hair Dryer 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Dryer/Hair_dryer_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Dryer.png", + "title": "Hair Dryer 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Hair Dryer/Hair_dryer_9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Hair Dryer.png", + "title": "Hair Dryer 10" + } + ] + }, + { + "categoryId": "62be51cc4d4edd56b588d54e", + "categoryName": "Scissors", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Scissors.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Scissor/Scissors_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Scissors.png", + "title": "Scissors 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Scissor/Scissors_10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Scissors.png", + "title": "Scissors 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Scissor/Scissors_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Scissors.png", + "title": "Scissors 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Scissor/Scissors_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Scissors.png", + "title": "Scissors 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Scissor/Scissors_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Scissors.png", + "title": "Scissors 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Scissor/Scissors_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Scissors.png", + "title": "Scissors 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Scissor/Scissors_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Scissors.png", + "title": "Scissors 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Scissor/Scissors_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Scissors.png", + "title": "Scissors 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Scissor/Scissors_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Scissors.png", + "title": "Scissors 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Scissor/Scissors_9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Scissors.png", + "title": "Scissors 10" + } + ] + }, + { + "categoryId": "62be51f84d4edd56b588d54f", + "categoryName": "Stun Gun", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Stun Gun.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Stun gun/Stun_gun_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Stun Gun.png", + "title": "Stun Gun 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Stun gun/Stun_gun_10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Stun Gun.png", + "title": "Stun Gun 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Stun gun/Stun_gun_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Stun Gun.png", + "title": "Stun Gun 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Stun gun/Stun_gun_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Stun Gun.png", + "title": "Stun Gun 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Stun gun/Stun_gun_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Stun Gun.png", + "title": "Stun Gun 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Stun gun/Stun_gun_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Stun Gun.png", + "title": "Stun Gun 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Stun gun/Stun_gun_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Stun Gun.png", + "title": "Stun Gun 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Stun gun/Stun_gun_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Stun Gun.png", + "title": "Stun Gun 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Stun gun/Stun_gun_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Stun Gun.png", + "title": "Stun Gun 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Stun gun/Stun_gun_9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Stun Gun.png", + "title": "Stun Gun 10" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d802", + "categoryName": "Animal Sound", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Animal Sound.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Bear.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Beer.png", + "title": "Animal Sound 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Bee.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Bee.png", + "title": "Animal Sound 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Buffalo 2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Buffalo.png", + "title": "Animal Sound 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Cat 1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Cat.png", + "title": "Animal Sound 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Crocodile 2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Crocodile.png", + "title": "Animal Sound 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Dog.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Dog.png", + "title": "Animal Sound 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Hippo 2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Hippo.png", + "title": "Animal Sound 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Horse.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Horse.png", + "title": "Animal Sound 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Lion.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Lion.png", + "title": "Animal Sound 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Monkey 1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Monkey.png", + "title": "Animal Sound 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Parrot.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Parrot.png", + "title": "Animal Sound 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Pig.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Pig.png", + "title": "Animal Sound 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Retired 1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Retired.png", + "title": "Animal Sound 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Snake.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Snake.png", + "title": "Animal Sound 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Squirrel.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Squirrel.png", + "title": "Animal Sound 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Animal Sound/Tiger.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Animal Sound/Tiger.png", + "title": "Animal Sound 16" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d803", + "categoryName": "Business \u0026 Office", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Business \u0026 Office.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Air Conditioning.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/air conditioning.png", + "title": "Business \u0026 Office 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Clock.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/Clock.png", + "title": "Business \u0026 Office 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Elevator Bell.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/elevator.png", + "title": "Business \u0026 Office 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Fax Machine.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/Fax machine.png", + "title": "Business \u0026 Office 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Fire Bell.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/fire bell.png", + "title": "Business \u0026 Office 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Fire Extinguisher.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/fire extinguisher.png", + "title": "Business \u0026 Office 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/keyboard 2.wav", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/keyboard.png", + "title": "Business \u0026 Office 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Loudspeaker.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/loudspeaker.png", + "title": "Business \u0026 Office 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Mouse.wav", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/Mouse.png", + "title": "Business \u0026 Office 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Paper.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/Paper.png", + "title": "Business \u0026 Office 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Pen.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/Pen.png", + "title": "Business \u0026 Office 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Printer.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/printer.png", + "title": "Business \u0026 Office 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Projector Film.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/projector.png", + "title": "Business \u0026 Office 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Scissors.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/scissors.png", + "title": "Business \u0026 Office 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Stapler.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/stapler.png", + "title": "Business \u0026 Office 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Business \u0026 Office/Wired Phone.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Business \u0026 Office/wired phone.png", + "title": "Business \u0026 Office 16" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d804", + "categoryName": "Doors", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Doors.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Bankdoor.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/Bankdoor.png", + "title": "Doors 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Car door.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/Car door.png", + "title": "Doors 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Door Wrought Iron Window House.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/Door Wrought Iron Window House.png", + "title": "Doors 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Garage door 1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/garage door 1.png", + "title": "Doors 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Garage door 2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/garage door 2.png", + "title": "Doors 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Glass Door.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/Glass door.png", + "title": "Doors 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Hatch door.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/hatch door.png", + "title": "Doors 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Hollow metal door.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/Hollow metal door.png", + "title": "Doors 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Metal Door.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/Metal door.png", + "title": "Doors 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Prison door.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/prison door.png", + "title": "Doors 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Submarine door.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/submarine door.png", + "title": "Doors 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Warehouse door.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/warehouse door.png", + "title": "Doors 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Window wood.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/Window wood.png", + "title": "Doors 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Window.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/Window.png", + "title": "Doors 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Wood door 1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/Wood door 1.png", + "title": "Doors 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Doors/Wood door 2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Doors/Wood door 2.png", + "title": "Doors 16" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d80a", + "categoryName": "Tools", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Tools.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Axe.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/Axe.png", + "title": "Tools 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Demolition Hammer.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/Demolition Hammer.png", + "title": "Tools 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Drill.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/Drill.png", + "title": "Tools 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Fire sprinkle.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/Fire sprinkle.png", + "title": "Tools 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Hammer.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/Hamme.png", + "title": "Tools 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Hand drill.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/Hand drill.png", + "title": "Tools 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Nailing Machine.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/nailing machine.png", + "title": "Tools 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Pipe Wrench.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/Pipe Wrench.png", + "title": "Tools 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Saw Machine.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/Saw machine.png", + "title": "Tools 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Saw.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/Saw.png", + "title": "Tools 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Smooth Polishing Machine.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/smooth polishing machine.png", + "title": "Tools 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Tape Measure.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/tape measure.png", + "title": "Tools 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Water Pump.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/water pump.png", + "title": "Tools 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Welder Machine.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/welder machine.png", + "title": "Tools 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Tools/Wrench.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Tools/wrench.png", + "title": "Tools 15" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd33", + "categoryName": "Blowing Nose", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Blowing nose.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose01.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose01.png", + "title": "Blowing Nose 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose02.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose02.png", + "title": "Blowing Nose 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose03.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose03.png", + "title": "Blowing Nose 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose04.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose04.png", + "title": "Blowing Nose 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose05.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose05.png", + "title": "Blowing Nose 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose06.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose06.png", + "title": "Blowing Nose 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose07.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose07.png", + "title": "Blowing Nose 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose08.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose08.png", + "title": "Blowing Nose 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose09.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose09.png", + "title": "Blowing Nose 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose10.png", + "title": "Blowing Nose 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose11.png", + "title": "Blowing Nose 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose12.png", + "title": "Blowing Nose 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose13.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose13.png", + "title": "Blowing Nose 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Blowing nose/Blowing nose14.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Blowing nose/Blowing nose14.png", + "title": "Blowing Nose 14" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd34", + "categoryName": "Boom", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Boom.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/atom bomb.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/atom bomb.png", + "title": "Boom 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Bomb.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Bomb.png", + "title": "Boom 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Cannon Car.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Cannon Car.png", + "title": "Boom 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Fire In The Hole.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Fire In The Hole.png", + "title": "Boom 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Firework.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Firework.png", + "title": "Boom 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Flashbang.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Flashbang.png", + "title": "Boom 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Grenade.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Grenade.png", + "title": "Boom 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Molotov.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Molotov.png", + "title": "Boom 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Rocket gun.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Rocket gun.png", + "title": "Boom 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/shooting tank.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/shooting tank.png", + "title": "Boom 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Smoke Grenade.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Smoke Grenade.png", + "title": "Boom 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/stink bomb.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/stink bomb.png", + "title": "Boom 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Throwing flash.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Throwing flash.png", + "title": "Boom 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Throwing smoke.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Throwing smoke.png", + "title": "Boom 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Boom/Time Bomb.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Boom/Time Bomb.png", + "title": "Boom 16" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd35", + "categoryName": "Clocking", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Clocking.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking01.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking01.png", + "title": "Clocking 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking02.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking02.png", + "title": "Clocking 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking03.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking03.png", + "title": "Clocking 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking04.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking04.png", + "title": "Clocking 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking05.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking05.png", + "title": "Clocking 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking06.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking06.png", + "title": "Clocking 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking07.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking07.png", + "title": "Clocking 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking08.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking08.png", + "title": "Clocking 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking09.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking09.png", + "title": "Clocking 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking10.png", + "title": "Clocking 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking11.png", + "title": "Clocking 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking12.png", + "title": "Clocking 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking13.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking13.png", + "title": "Clocking 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Clocking/Clocking14.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Clocking/Clocking14.png", + "title": "Clocking 14" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd36", + "categoryName": "Fun Anime", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Fun Anime.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Air.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Air.png", + "title": "Fun Anime 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Arigatou.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Arigatou.png", + "title": "Fun Anime 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Cook.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Cook.png", + "title": "Fun Anime 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Eh- Eh- Eh.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Eh- Eh- Eh.png", + "title": "Fun Anime 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Fire.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Fire.png", + "title": "Fun Anime 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Goku saiyan scream.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Goku saiyan scream.png", + "title": "Fun Anime 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Haki.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Haki.png", + "title": "Fun Anime 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Muda muda muda.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Muda muda muda.png", + "title": "Fun Anime 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Nani.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Nani.png", + "title": "Fun Anime 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Ora Ora Ora.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Ora Ora Ora.png", + "title": "Fun Anime 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/stone.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/stone.png", + "title": "Fun Anime 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Stop time.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Stop time.png", + "title": "Fun Anime 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Thunder.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Thunder.png", + "title": "Fun Anime 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Water.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Water.png", + "title": "Fun Anime 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Fun Anime/Wow.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Fun Anime/Wow.png", + "title": "Fun Anime 15" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd37", + "categoryName": "Gurgting", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Gurgling.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gurgting/baby boy washing mouth.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gurgting/baby boy washing mouth.png", + "title": "Gurgting 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gurgting/baby girl washing mouth.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gurgting/baby girl washing mouth.png", + "title": "Gurgting 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gurgting/boy washing mouth.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gurgting/boy washing mouth.png", + "title": "Gurgting 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gurgting/drink water.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gurgting/drink water.png", + "title": "Gurgting 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gurgting/expectorate.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gurgting/expectorate.png", + "title": "Gurgting 6" + }, + + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gurgting/soap bubbles.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gurgting/soap bubbles.png", + "title": "Gurgting 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gurgting/washing face.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gurgting/washing face.png", + "title": "Gurgting 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Gurgting/Woman washing mouth.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Gurgting/Woman washing mouth.png", + "title": "Gurgting 12" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd38", + "categoryName": "Snoring", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Snoring.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring01.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring01.png", + "title": "Snoring 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring02.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring02.png", + "title": "Snoring 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring03.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring03.png", + "title": "Snoring 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring04.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring04.png", + "title": "Snoring 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring05.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring05.png", + "title": "Snoring 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring06.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring06.png", + "title": "Snoring 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring07.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring07.png", + "title": "Snoring 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring08.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring08.png", + "title": "Snoring 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring09.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring09.png", + "title": "Snoring 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring10.png", + "title": "Snoring 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring11.png", + "title": "Snoring 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring12.png", + "title": "Snoring 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring13.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring13.png", + "title": "Snoring 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snoring/Snoring14.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snoring/Snoring14.png", + "title": "Snoring 14" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d805", + "categoryName": "Meme sound 1", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Meme sound 1.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Ain_t Nobody Got Time.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Ain_t Nobody Got Time.jpg", + "title": "Meme sound 1 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Alert.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Alert.jpg", + "title": "Meme sound 1 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Applause.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Applause.jpg", + "title": "Meme sound 1 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Astronomia.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Astronomia.jpg", + "title": "Meme sound 1 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/ba ba boi.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/ba ba boi.jpg", + "title": "Meme sound 1 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Ba Dum Tss.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Ba Dum Tss.jpg", + "title": "Meme sound 1 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Ba Dun Dun.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Ba Dun Dun.jpg", + "title": "Meme sound 1 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Bass Boosted.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Bass Boosted.jpg", + "title": "Meme sound 1 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/BIBLETHUMP (sad violin).mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/BIBLETHUMP (sad violin).jpg", + "title": "Meme sound 1 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Crazy Kid Get Noscoped.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Crazy Kid Get Noscoped.jpg", + "title": "Meme sound 1 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Crickets Silence.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Crickets Silence.jpg", + "title": "Meme sound 1 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Damaged coda.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Damaged coda.jpg", + "title": "Meme sound 1 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Damn Daniel.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Damn Daniel.jpg", + "title": "Meme sound 1 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Damn.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Damn.jpg", + "title": "Meme sound 1 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Dancing polish Cow.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Dancing polish cow.jpg", + "title": "Meme sound 1 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Deez Nuts.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Deez Nuts.jpg", + "title": "Meme sound 1 16" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Dial Up Internet.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Dial Up Internet.jpg", + "title": "Meme sound 1 17" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Dip Dip Potato Chip.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Dip Dip Potato Chip.jpg", + "title": "Meme sound 1 18" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 1/Dont Click.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 1/Dont click.jpg", + "title": "Meme sound 1 19" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d806", + "categoryName": "Meme sound 2", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Meme sound 2.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/DOOR STUCK! DOOR STUCK!.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/DOOR STUCK! DOOR STUCK!.jpg", + "title": "Meme sound 2 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Driected by Robert B.Weide.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Driected by Robert B.Weide.jpg", + "title": "Meme sound 2 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/E Girl You heard me.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/E Girl You heard me.jpg", + "title": "Meme sound 2 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Epic Victory.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Epic Victory.jpg", + "title": "Meme sound 2 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/EZ - Easy.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/EZ - Easy.jpg", + "title": "Meme sound 2 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Falcon Punch.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Falcon Punch.jpg", + "title": "Meme sound 2 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Falling Whistle.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Falling Whistle.jpg", + "title": "Meme sound 2 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/FBI! Open up!.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/FBI! Open up!.jpg", + "title": "Meme sound 2 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/flightreacts 50 laughs.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/flightreacts 50 laughs.jpg", + "title": "Meme sound 2 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Funny Burp.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Funny Burp.jpg", + "title": "Meme sound 2 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Funny Cartoon Running.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Funny Cartoon Running.jpg", + "title": "Meme sound 2 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Funny Fart.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Funny Fart.jpg", + "title": "Meme sound 2 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Funny Laughs.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Funny Laughs.jpg", + "title": "Meme sound 2 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Funny Troll Guns.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Funny Troll Guns.jpg", + "title": "Meme sound 2 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Google.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Google.jpg", + "title": "Meme sound 2 16" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Hey It_s Corona Time.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Hey It_s Corona Time.jpg", + "title": "Meme sound 2 17" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Hey What Happen.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Hey What Happen.jpg", + "title": "Meme sound 2 18" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Hey, that_s pretty good!.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Hey, that_s pretty good!.jpg", + "title": "Meme sound 2 19" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/His Name Is JOHN CENA.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/His Name Is JOHN CENA.jpg", + "title": "Meme sound 2 20" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 2/Holy Moly.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 2/Holy Moly.jpg", + "title": "Meme sound 2 21" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d807", + "categoryName": "Meme sound 3", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Meme sound 3.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/I Believe I Can OOF.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/I Believe I Can OOF.jpg", + "title": "Meme sound 3 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Illuminati Confirmed.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Illuminati Confirmed.jpg", + "title": "Meme sound 3 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/It_s Just a Prank.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/It_s Just a Prank.jpg", + "title": "Meme sound 3 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/It_s Me Mario.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/It_s Me Mario.jpg", + "title": "Meme sound 3 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/It_s Over 9000.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/It_s Over 9000.jpg", + "title": "Meme sound 3 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/KO - Street Fighter.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/KO - Street Fighter.jpg", + "title": "Meme sound 3 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Kung Fu Shout.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Kung Fu Shout.jpg", + "title": "Meme sound 3 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Laughing Crowd.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Laughing Crowd.jpg", + "title": "Meme sound 3 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Lol.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Lol.jpg", + "title": "Meme sound 3 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Lonely Wind.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Lonely Wind.jpg", + "title": "Meme sound 3 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Mario Kart Race Start.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Mario Kart Race Start.jpg", + "title": "Meme sound 3 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Meme Triggered.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Meme Triggered.jpg", + "title": "Meme sound 3 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Minecraft Drinking.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Minecraft Drinking.jpg", + "title": "Meme sound 3 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Minecraft Pickaxe.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Minecraft Pickaxe.jpg", + "title": "Meme sound 3 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Mission Failed.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Mission Failed.jpg", + "title": "Meme sound 3 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Nani Omae wa mou shindeiru.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Nani Omae wa mou shindeiru.jpg", + "title": "Meme sound 3 16" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Noo!.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Noo!.jpg", + "title": "Meme sound 3 17" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Oh My God.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Oh My God.jpg", + "title": "Meme sound 3 18" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Oh No No No.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Oh No No No.jpg", + "title": "Meme sound 3 19" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 3/Oh no tik tok.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 3/Oh no tik tok.jpg", + "title": "Meme sound 3 20" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d808", + "categoryName": "Meme sound 4", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Meme sound 4.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/OHHHH.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/OHHHH.jpg", + "title": "Meme sound 4 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Ok.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Ok.jpg", + "title": "Meme sound 4 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Old Movie Projector.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Old Movie Projector.jpg", + "title": "Meme sound 4 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Onii-Chan Padoru.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Onii-Chan Padoru.jpg", + "title": "Meme sound 4 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/OOF Roblox.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/OOF Roblox.jpg", + "title": "Meme sound 4 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Oof!.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Oof!.jpg", + "title": "Meme sound 4 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Peppa pig YEET.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Peppa pig YEET.jpg", + "title": "Meme sound 4 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/PewDiePie Hmm.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/PewDiePie Hmm.jpg", + "title": "Meme sound 4 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Pewdiepie WOW.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Pewdiepie WOW.jpg", + "title": "Meme sound 4 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Phone Vibrating.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Phone Vibrating.jpg", + "title": "Meme sound 4 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Punch.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Punch.jpg", + "title": "Meme sound 4 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/RKO Outta Nowhere.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/RKO Outta Nowhere.jpg", + "title": "Meme sound 4 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Say What.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Say What.jpg", + "title": "Meme sound 4 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Sike That_s The Wrong Number.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Sike That_s The Wrong Number.jpg", + "title": "Meme sound 4 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Slap.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Slap.jpg", + "title": "Meme sound 4 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Sniper Shot - MW2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Sniper Shot - MW2.jpg", + "title": "Meme sound 4 16" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Sorry Bro.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Sorry Bro.jpg", + "title": "Meme sound 4 17" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Stop Fuking Lying.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Stop Fuking Lying.jpg", + "title": "Meme sound 4 18" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 4/Suspense.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 4/Suspense.jpg", + "title": "Meme sound 4 19" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d809", + "categoryName": "Meme sound 5", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Meme sound 5.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Tadaa Vanoss Gaming.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Tadaa Vanoss Gaming.jpg", + "title": "Meme sound 5 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Take The L.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Take The L.jpg", + "title": "Meme sound 5 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/That Was Legitness.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/That Was Legitness.jpg", + "title": "Meme sound 5 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/The Duck Song.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/The Duck Song.jpg", + "title": "Meme sound 5 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Titanic Flute Fail.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Titanic Flute Fail.jpg", + "title": "Meme sound 5 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Troll Bell.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Troll Bell.jpg", + "title": "Meme sound 5 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Troll Kids.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Troll Kids.jpg", + "title": "Meme sound 5 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Two Hours Later.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Two Hours Later.jpg", + "title": "Meme sound 5 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Where The Fuk I Am.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Where The Fuk I Am.jpg", + "title": "Meme sound 5 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Wii Theme.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Wii Theme.jpg", + "title": "Meme sound 5 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Windows Earrape.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Windows Earrape.jpg", + "title": "Meme sound 5 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Windows Error.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Windows Error.jpg", + "title": "Meme sound 5 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/WTF Boom.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/WTF Boom.jpg", + "title": "Meme sound 5 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/WTF.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/WTF.jpg", + "title": "Meme sound 5 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/WWE Crazy OMG Moments.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/WWE Crazy OMG Moments.jpg", + "title": "Meme sound 5 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/YEEET.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/YEEET.jpg", + "title": "Meme sound 5 16" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Yes.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Yes.jpg", + "title": "Meme sound 5 17" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/You_re the last one. Complete the mission.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/You_re the last one. Complete the mission.jpg", + "title": "Meme sound 5 18" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Yup.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Yup.jpg", + "title": "Meme sound 5 19" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 5/Zombie Death.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 5/Zombie Death.jpg", + "title": "Meme sound 5 20" + } + ] + }, + { + "categoryId": "636dc88cf512f266a311768d", + "categoryName": "Meme sound 6", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Meme sound 6.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/2000 Years Later.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/2000 Years Later.jpg", + "title": "Meme sound 6 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/ANOTHER ONE.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/ANOTHER ONE.jpg", + "title": "Meme sound 6 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Angry Gamer.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Angry Gamer.jpg", + "title": "Meme sound 6 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Are You Stupid.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Are You Stupid.jpg", + "title": "Meme sound 6 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Autism Attack.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Autism Attack.jpg", + "title": "Meme sound 6 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Crowd clapping.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Crowd clapping.jpg", + "title": "Meme sound 6 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Crying.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Crying.jpg", + "title": "Meme sound 6 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/DAMN.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/DAMN.jpg", + "title": "Meme sound 6 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Do it! Just Do It!.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Do it! Just Do It!.jpg", + "title": "Meme sound 6 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Epic black man crying.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Epic black man crying.jpg", + "title": "Meme sound 6 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/GTA Mission Passed.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/GTA Mission Passed.jpg", + "title": "Meme sound 6 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Hi Okay.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Hi Okay.jpg", + "title": "Meme sound 6 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/I Don_t Know.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/I Don_t Know.jpg", + "title": "Meme sound 6 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/I feel good.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/I feel good.jpg", + "title": "Meme sound 6 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Jonah laughing.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Jonah laughing.jpg", + "title": "Meme sound 6 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Lion Laughing.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Lion Laughing.jpg", + "title": "Meme sound 6 16" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/MONKEY LAUGHING.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/MONKEY LAUGHING.jpg", + "title": "Meme sound 6 17" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/NO GOD! NO GOD, PLEASE NO.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/NO GOD! NO GOD, PLEASE NO.jpg", + "title": "Meme sound 6 18" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Nani Omae wa mou shindeiru.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Nani Omae wa mou shindeiru.jpg", + "title": "Meme sound 6 19" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Nice.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Nice.jpg", + "title": "Meme sound 6 20" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Nicolas Cage laughing.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Nicolas Cage laughing.jpg", + "title": "Meme sound 6 21" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Oh Hell No.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Oh Hell No.jpg", + "title": "Meme sound 6 22" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Radiotv Censor.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Radiotv Censor.jpg", + "title": "Meme sound 6 23" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Really Nigga.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Really Nigga.jpg", + "title": "Meme sound 6 24" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/SERIOUSLY WTF.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/SERIOUSLY WTF.jpg", + "title": "Meme sound 6 25" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Silent laugh.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Silent laugh.jpg", + "title": "Meme sound 6 26" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Smoke Weed every Day.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Smoke Weed every Day.jpg", + "title": "Meme sound 6 27" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Squirrel Shout.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Squirrel Shout.jpg", + "title": "Meme sound 6 28" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Stop It, Get Some Help.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Stop It, Get Some Help.jpg", + "title": "Meme sound 6 29" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Surprise.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Surprise.jpg", + "title": "Meme sound 6 30" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/WHAT.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/WHAT.jpg", + "title": "Meme sound 6 31" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/Wait A Minute, Who Are You.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/Wait A Minute, Who Are You.jpg", + "title": "Meme sound 6 32" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/What_s wrong with you.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/What_s wrong with you.jpg", + "title": "Meme sound 6 33" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Meme sound 6/oh my god wow.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Meme sound 6/oh my god wow.jpg", + "title": "Meme sound 6 34" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd47", + "categoryName": "Anime meme", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Anime Meme.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Ahoy.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Ahoy.png", + "title": "Anime meme 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Anta Baka.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Anta Baka.png", + "title": "Anime meme 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Ara Ara.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Ara Ara.png", + "title": "Anime meme 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Deadman Anime.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Deadman Anime.png", + "title": "Anime meme 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Ehe te nandayo.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Ehe te nandayo.png", + "title": "Anime meme 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Hayai.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Hayai.png", + "title": "Anime meme 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/IIIIIIIHHHHHHHHHÁÁÁÁÁÁÁÁÁÁ!!!.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/IIIIIIIHHHHHHHHHÁÁÁÁÁÁÁÁÁÁ!!!.png", + "title": "Anime meme 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Mario.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Mario.png", + "title": "Anime meme 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Nande.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Nande.png", + "title": "Anime meme 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Nani-Yasen.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Nani-Yasen.png", + "title": "Anime meme 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Nico Nico Nii.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Nico Nico Nii.png", + "title": "Anime meme 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Nyanpasu.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Nyanpasu.png", + "title": "Anime meme 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Onii chan.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Onii chan.png", + "title": "Anime meme 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Pikachu.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Pikachu.png", + "title": "Anime meme 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Rero rero.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Rero rero.png", + "title": "Anime meme 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Senpai.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Senpai.png", + "title": "Anime meme 16" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Tuturu_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Tuturu.png", + "title": "Anime meme 17" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Anime meme/Uwu Uwu.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Anime meme/Uwu Uwu.png", + "title": "Anime meme 18" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd48", + "categoryName": "Baby sound meme", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Baby sound meme.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/Autotune Baby.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/Autotune Baby.png", + "title": "Baby sound meme 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/baby crying.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/baby crying.png", + "title": "Baby sound meme 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/Baby Groot.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/Baby Groot.png", + "title": "Baby sound meme 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/Baby Screaming Meme.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/Baby Screaming Meme.png", + "title": "Baby sound meme 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/Baby.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/Baby.png", + "title": "Baby sound meme 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/Cute Korean Baby.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/Cute Korean Baby.png", + "title": "Baby sound meme 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/Guten Morgen!.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/Guten Morgen!.png", + "title": "Baby sound meme 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/Hasta la Vista, baby. Shotgun..mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/Hasta la Vista, baby. Shotgun..png", + "title": "Baby sound meme 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/Hello Baby Girl.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/Hello Baby Girl.png", + "title": "Baby sound meme 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/KICK THE BABY.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/KICK THE BABY.png", + "title": "Baby sound meme 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/Mario Paint Baby.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/Mario Paint Baby.png", + "title": "Baby sound meme 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/Not The Momma!.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/Not The Momma!.png", + "title": "Baby sound meme 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/Oh Baby A Triple! Sound.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/Oh Baby A Triple! Sound.png", + "title": "Baby sound meme 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Baby sound meme/The Baby Elephant from The Jungle Book.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Baby sound meme/The Baby Elephant from The Jungle Book.png", + "title": "Baby sound meme 14" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd49", + "categoryName": "Laughing meme", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Laughing meme.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/baby laughing meme.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/baby laughing meme.png", + "title": "Laughing meme 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/broteam laugh.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/broteam laugh.png", + "title": "Laughing meme 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/Flaky singing and Nutty laughing.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/Flaky singing and Nutty laughing _3.png", + "title": "Laughing meme 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/frog laughing meme.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/frog laughing meme.png", + "title": "Laughing meme 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/Haha funny laugh.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/Haha funny laugh.png", + "title": "Laughing meme 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/laughing chihuahua meme.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/laughing chihuahua meme.png", + "title": "Laughing meme 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/Ninja laughing meme.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/Ninja laughing meme.png", + "title": "Laughing meme 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/PewDiePie Laugh.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/PewDiePie Laugh.png", + "title": "Laughing meme 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/Silly Screaming Laughter.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/Silly Screaming Laughter.png", + "title": "Laughing meme 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/That one mischievous guy laughing.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/That one mischievous guy laughing.png", + "title": "Laughing meme 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/YAAAYY CHILDREN!!!!.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/YAAAYY CHILDREN!!!!.png", + "title": "Laughing meme 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Laughing meme/You_ve got a whole lot to learn!.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Laughing meme/You\u0027ve got a whole lot to learn!.png", + "title": "Laughing meme 12" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd50", + "categoryName": "Video effect", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Video effect.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/AUGHHHHH.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/AUGHHHHH.png", + "title": "Video effect 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Bing Chilling.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Bing Chilling.png", + "title": "Video effect 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Chuck Noris Yell.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Chuck Noris Yell.png", + "title": "Video effect 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Doge Bonk.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Doge Bonk.png", + "title": "Video effect 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Funny sound.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Funny sound.png", + "title": "Video effect 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Gotcha bitch.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Gotcha bitch.png", + "title": "Video effect 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Hello-Minion.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Hello-Minion.png", + "title": "Video effect 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Instagram Thud.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Instagram Thud.png", + "title": "Video effect 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Okay.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Okay.png", + "title": "Video effect 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Pew Pew.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Pew Pew.png", + "title": "Video effect 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Shocking.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Shocking.png", + "title": "Video effect 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Sudden Suspense.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Sudden Suspense.png", + "title": "Video effect 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/This Is Bullshit.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/This Is Bullshit.png", + "title": "Video effect 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/What bottom text meme.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/What bottom text meme.png", + "title": "Video effect 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Windows XP Error.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Windows XP Error.png", + "title": "Video effect 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/WowJustin.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/WowJustin.png", + "title": "Video effect 16" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/WTFFFF.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/WTFFFF.png", + "title": "Video effect 17" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Video Effect/Yeet.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Video Effect/Yeet.png", + "title": "Video effect 18" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd40", + "categoryName": "Church Bell", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Church Bell.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 1.png", + "title": "Church Bell 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 10.png", + "title": "Church Bell 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 11.png", + "title": "Church Bell 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 12.png", + "title": "Church Bell 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 13.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 13.png", + "title": "Church Bell 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 14.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 14.png", + "title": "Church Bell 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 2.png", + "title": "Church Bell 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 3.png", + "title": "Church Bell 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 4.png", + "title": "Church Bell 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 5.png", + "title": "Church Bell 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 6.png", + "title": "Church Bell 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 7.png", + "title": "Church Bell 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 8.png", + "title": "Church Bell 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Church Bell/Church Bell 9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Church Bell/Church Bell 9.png", + "title": "Church Bell 14" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd44", + "categoryName": "Santa Claus", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Santa Claus.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 1.png", + "title": "Santa Claus 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 10.png", + "title": "Santa Claus 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 11.png", + "title": "Santa Claus 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 12.png", + "title": "Santa Claus 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 13.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 13.png", + "title": "Santa Claus 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 14.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 14.png", + "title": "Santa Claus 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 2.png", + "title": "Santa Claus 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 3.png", + "title": "Santa Claus 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 4.png", + "title": "Santa Claus 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 5.png", + "title": "Santa Claus 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 6.png", + "title": "Santa Claus 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 7.png", + "title": "Santa Claus 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 8.png", + "title": "Santa Claus 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Santa Claus/Santa Claus 9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Santa Claus/Santa Claus 9.png", + "title": "Santa Claus 14" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd45", + "categoryName": "Sleigh bell", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Sleigh bell.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 1.png", + "title": "Sleigh bell 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 10.png", + "title": "Sleigh bell 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 11.png", + "title": "Sleigh bell 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 12.png", + "title": "Sleigh bell 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 2.png", + "title": "Sleigh bell 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 3.png", + "title": "Sleigh bell 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 4.png", + "title": "Sleigh bell 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 5.png", + "title": "Sleigh bell 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 6.png", + "title": "Sleigh bell 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 7.png", + "title": "Sleigh bell 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 8.png", + "title": "Sleigh bell 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Sleigh bell/Sleigh bell 9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Sleigh bell/Sleigh bell 9.png", + "title": "Sleigh bell 12" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd46", + "categoryName": "Snowball", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Snowball.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snowball/Snowball 1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snowball/Snowball 1.png", + "title": "Snowball 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snowball/Snowball 10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snowball/Snowball 10.png", + "title": "Snowball 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snowball/Snowball 2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snowball/Snowball 2.png", + "title": "Snowball 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snowball/Snowball 3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snowball/Snowball 3.png", + "title": "Snowball 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snowball/Snowball 4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snowball/Snowball 4.png", + "title": "Snowball 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snowball/Snowball 5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snowball/Snowball 5.png", + "title": "Snowball 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snowball/Snowball 6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snowball/Snowball 6.png", + "title": "Snowball 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snowball/Snowball 7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snowball/Snowball 7.png", + "title": "Snowball 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snowball/Snowball 8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snowball/Snowball 8.png", + "title": "Snowball 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Snowball/Snowball 9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Snowball/Snowball 9.png", + "title": "Snowball 10" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd41", + "categoryName": "Countdown", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Countdown.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown01.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown01.png", + "title": "Countdown 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown02.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown02.png", + "title": "Countdown 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown03.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown03.png", + "title": "Countdown 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown04.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown04.png", + "title": "Countdown 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown05.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown05.png", + "title": "Countdown 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown06.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown06.png", + "title": "Countdown 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown07.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown07.png", + "title": "Countdown 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown08.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown08.png", + "title": "Countdown 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown09.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown09.png", + "title": "Countdown 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown10.png", + "title": "Countdown 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown11.png", + "title": "Countdown 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown12.png", + "title": "Countdown 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown13.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown13.png", + "title": "Countdown 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown14.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown14.png", + "title": "Countdown 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown15.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown15.png", + "title": "Countdown 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Countdown/Countdown16.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Countdown/Countdown16.png", + "title": "Countdown 16" + } + ] + }, + + { + "categoryId": "636dc40571a30811c821fd39", + "categoryName": "Champagne", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Champagne.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Beer foam.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Beer foam.png", + "title": "Champagne 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Beer.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Beer.png", + "title": "Champagne 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Bottle shake.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Bottle shake.png", + "title": "Champagne 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Champagne01.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Champagne01.png", + "title": "Champagne 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Champagne02.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Champagne02.png", + "title": "Champagne 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Champagne03.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Champagne03.png", + "title": "Champagne 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Cheers.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Cheers.png", + "title": "Champagne 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Clap wine bottles.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Clap wine bottles.png", + "title": "Champagne 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Drinking alcohol.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Drinking alcohol.png", + "title": "Champagne 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Girl drink.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Girl drink.png", + "title": "Champagne 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Ice bucket.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Ice bucket.png", + "title": "Champagne 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Ice.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Ice.png", + "title": "Champagne 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Man drink.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Man drink.png", + "title": "Champagne 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Pour wine.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Pour wine.png", + "title": "Champagne 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Tongs.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Tongs.png", + "title": "Champagne 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Champagne/Touch cup.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Champagne/Touch cup.png", + "title": "Champagne 16" + } + ] + }, + { + "categoryId": "64b617f06d7b94ebbe2a20fa", + "categoryName": "Siren Head", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/20230718/SIREN HEAD.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Alarm clock head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Alarm clock head.png", + "title": "Siren Head 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Bell Head Siren.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Bell Head Siren.png", + "title": "Siren Head 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Bellringer head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Bellringer head.png", + "title": "Siren Head 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Bulb head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Bulb head.png", + "title": "Siren Head 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Camera head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Camera head.png", + "title": "Siren Head 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Classic 10 head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Classic 10 head.png", + "title": "Siren Head 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Eye head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Eye head.png", + "title": "Siren Head 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Fire alarm head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Fire alarm head.png", + "title": "Siren Head 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Horn siren head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Horn siren head.png", + "title": "Siren Head 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Horror toilet head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Horror toilet head.png", + "title": "Siren Head 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Knife head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Knife head.png", + "title": "Siren Head 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Lamp head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Lamp head.png", + "title": "Siren Head 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Noodle head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Noodle head.png", + "title": "Siren Head 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Palette head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Palette head.png", + "title": "Siren Head 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Poo head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Poo head.png", + "title": "Siren Head 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Poop head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Poop head.png", + "title": "Siren Head 16" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Pumpkin head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Pumpkin head.png", + "title": "Siren Head 17" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Radio head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Radio head.png", + "title": "Siren Head 18" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Seashell head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Seashell head.png", + "title": "Siren Head 19" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Siren Head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Siren Head.png", + "title": "Siren Head 20" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Siren tongue.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Siren tongue.png", + "title": "Siren Head 21" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Skull Head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Skull Head.png", + "title": "Siren Head 22" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Snowman head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Snowman head.png", + "title": "Siren Head 23" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Teeth head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Teeth head.png", + "title": "Siren Head 24" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Thunderbolt head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Thunderbolt head.png", + "title": "Siren Head 25" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Toilet head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Toilet head.png", + "title": "Siren Head 26" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Toilet paper head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Toilet paper head.png", + "title": "Siren Head 27" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Tombstone head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Tombstone head.png", + "title": "Siren Head 28" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/Trafic light head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Trafic light head.png", + "title": "Siren Head 29" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/20230718/Siren Head/TV head.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/TV head.png", + "title": "Siren Head 30" + } + ] + }, + { + "categoryId": "625f83491fea07887e619066", + "categoryName": "Burp", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Burp.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_10.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_11.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_12.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Burp/funny_burp_9.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Burp.png", + "title": "Burp 12" + } + ] + }, + { + "categoryId": "625f83491fea07887e619067", + "categoryName": "Car", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Car.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carengine_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 1" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carengine_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 2" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carengine_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carengine_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carengine_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carengine_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 6" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carhorn_1.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carhorn_2.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carhorn_3.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 9" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carhorn_4.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carhorn_5.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 11" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carhorn_6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carhorn_7.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Car/funny_carhorn_8.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Car.png", + "title": "Car 14" + } + ] + }, + { + "categoryId": "634e0d283a35295ff1e9d782", + "categoryName": "Halloween", + "categoryUrl": "https://prank-sound-abi.pranksound.com/icons/icon-categories/Halloween.png", + "list": [ + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Creepy crime.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Creepy crime.png", + "title": "Halloween 3" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Creepydoor.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Creepydoor.png", + "title": "Halloween 4" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Evil laughing.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Evil laughing.png", + "title": "Halloween 5" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Halloween impact.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Halloween impact.png", + "title": "Halloween 7" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Halloween.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Halloween.png", + "title": "Halloween 8" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Jump scare.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Jump scare.png", + "title": "Halloween 10" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Little secrets.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Little secrets.png", + "title": "Halloween 12" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Murder of crows.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Murder of crows.png", + "title": "Halloween 13" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Pumpkin laughing.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Pumpkin laughing.png", + "title": "Halloween 14" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Scary night.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Scary night.png", + "title": "Halloween 15" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Spooky ambience.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Spooky ambience.png", + "title": "Halloween 16" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Spooky wind.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Spooky wind.png", + "title": "Halloween 17" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Strange lullaby.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Strange lullaby.png", + "title": "Halloween 18" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/Witch.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/Witch.png", + "title": "Halloween 19" + }, + { + "mp3Url": "https://prank-sound-abi.pranksound.com/sounds/Halloween/You cant see me.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/Halloween/You cant see me.png", + "title": "Halloween 20" + } + ] + } +] \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/App.kt b/app/src/main/java/com/prank/funky/voice/App.kt new file mode 100644 index 0000000..3d11e01 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/App.kt @@ -0,0 +1,42 @@ +package com.prank.funky.voice + +import android.app.Application +import com.prank.funky.voice.objectBox.DbBaseFunction +import com.prank.funky.voice.objectBox.EntitySounds +import com.prank.funky.voice.utils.Util +import java.io.IOException +import java.util.Collections + +class App : Application() { + companion object{ + lateinit var mApp:App + val TAG = "+++++++++++++" + + var entitySoundsList: List? = null + } + override fun onCreate() { + super.onCreate() + mApp = this + DbBaseFunction.init(this) + if (entitySoundsList != null) return + try { + val open = getAssets().open("pranksounds.json") + val string: String = Util.getString(open) + if (!string.isEmpty()) { + entitySoundsList = Util.getBean(string) + Util.showLog(entitySoundsList?.size.toString()) + entitySoundsList?.let { + Collections.shuffle(it) + for (category in it) { + for (info1 in category.entitySoundsDetailList!!) { + info1.isLike = false + DbBaseFunction.getSoundsBox().put(info1) + } + } + } + } + } catch (e: IOException) { + throw RuntimeException(e) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/collection/CollectionActivity.kt b/app/src/main/java/com/prank/funky/voice/collection/CollectionActivity.kt new file mode 100644 index 0000000..a0485c1 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/collection/CollectionActivity.kt @@ -0,0 +1,87 @@ +package com.prank.funky.voice.collection + +import android.content.Intent +import android.os.Bundle +import android.widget.FrameLayout +import android.widget.LinearLayout +import androidx.activity.enableEdgeToEdge +import androidx.activity.result.contract.ActivityResultContracts +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import androidx.core.view.isVisible +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.prank.funky.voice.utils.RecyclerSpace +import com.prank.funky.voice.R +import com.prank.funky.voice.utils.Util +import com.prank.funky.voice.objectBox.DbBaseFunction +import com.prank.funky.voice.playSounds.PlaySoundsActivity + +class CollectionActivity : AppCompatActivity() { + + + private lateinit var recyclerView: RecyclerView + private lateinit var emptyLayout: LinearLayout + private lateinit var collectionAdapter: CollectionAdapter + private val mLauncher = registerForActivityResult( + ActivityResultContracts.StartActivityForResult() + ) { result -> + if (result.resultCode == RESULT_OK) { + val data = result.data + val value = data?.getBooleanExtra(KEY_DELETE_FAVORITE, false) + if (value == true) { + queryLikeData() + } + + } + } + + companion object { + val KEY_DELETE_FAVORITE = "is_delete_favorite" + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_collection) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + findViewById(R.id.framelayout_back).setOnClickListener { finish() } + + recyclerView = findViewById(R.id.favorite_recyclerview) + emptyLayout = findViewById(R.id.empty_favorite) + + recyclerView.run { + val itemHelper = RecyclerSpace(5, 5, 3) + addItemDecoration(itemHelper) + setLayoutManager(GridLayoutManager(this@CollectionActivity, 3)) + collectionAdapter = CollectionAdapter(this@CollectionActivity) { data, soundsIndex -> + mLauncher.launch(Intent(this@CollectionActivity, PlaySoundsActivity::class.java).apply { + putExtra(PlaySoundsActivity.Companion.KEY_SOUNDS_DETAIL_DATA, data) + putExtra(PlaySoundsActivity.Companion.KEY_SOUNDS_DETAIL_INDEX, soundsIndex) + }) + + } + queryLikeData() + setAdapter(collectionAdapter) + } + } + + private fun queryLikeData() { + val allLike = DbBaseFunction.getAllLike() + Util.showLog("-----like---updateData allLike=${allLike.size}") + showFavoriteEmptyView(allLike.isEmpty()) + collectionAdapter.updateData(allLike) + } + + private fun showFavoriteEmptyView(isEmpty: Boolean) { + emptyLayout.isVisible = isEmpty + recyclerView.isVisible = !isEmpty + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/collection/CollectionAdapter.kt b/app/src/main/java/com/prank/funky/voice/collection/CollectionAdapter.kt new file mode 100644 index 0000000..9cb07b0 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/collection/CollectionAdapter.kt @@ -0,0 +1,49 @@ +package com.prank.funky.voice.collection + +import android.content.Context +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.core.content.ContextCompat +import androidx.recyclerview.widget.RecyclerView +import com.bumptech.glide.Glide +import com.prank.funky.voice.databinding.CollectionAdapterBinding +import com.prank.funky.voice.objectBox.EntitySoundsDetail +import com.prank.funky.voice.utils.BaseAdapter +import com.prank.funky.voice.utils.Util + +class CollectionAdapter( + context: Context, + var onClickIntent: (sounds: EntitySoundsDetail, soundsIndex: Int) -> Unit +) : + BaseAdapter(context) { + override fun getViewBinding(parent: ViewGroup?): CollectionAdapterBinding { + return CollectionAdapterBinding.inflate( + LayoutInflater.from(parent?.context), + parent, + false + ) + } + + override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { + val itemHolder = holder as VHolder + val entitySoundsDetail: EntitySoundsDetail = data[position] + itemHolder.vb.run { + entitySoundsDetail.run { + root.background = ContextCompat.getDrawable(mContext, Util.mainBgs[colorIndex]) + if(!isCustomization){ + val covert: String = entitySoundsDetail.covert.toString() + Glide.with(mContext).load(covert).into(imageView) + } + + textView.text = entitySoundsDetail.name + root.setOnClickListener { + onClickIntent(entitySoundsDetail, colorIndex) + + } + } + + } + + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/home/HomeActivity.kt b/app/src/main/java/com/prank/funky/voice/home/HomeActivity.kt new file mode 100644 index 0000000..ab59660 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/home/HomeActivity.kt @@ -0,0 +1,58 @@ +package com.prank.funky.voice.home + +import android.content.Intent +import android.os.Bundle +import android.widget.FrameLayout +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.prank.funky.voice.App +import com.prank.funky.voice.utils.RecyclerSpace +import com.prank.funky.voice.R +import com.prank.funky.voice.utils.Util +import com.prank.funky.voice.collection.CollectionActivity +import com.prank.funky.voice.soundsList.ListActivity +import com.prank.funky.voice.recordSounds.CustomActivity + +class HomeActivity : AppCompatActivity() { + private lateinit var recycler:RecyclerView + private lateinit var layoutFavorite:FrameLayout + private lateinit var layoutRecorder:FrameLayout + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_home) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + recycler= findViewById(R.id.recycler_view) + layoutFavorite= findViewById(R.id.frame_layout_favorite) + layoutRecorder= findViewById(R.id.frame_layout_record) + recycler.run { + val itemHelper = RecyclerSpace(5, 5, 3) + addItemDecoration(itemHelper) + setLayoutManager(GridLayoutManager(this@HomeActivity, 2)) + setAdapter(HomeAdapter(this@HomeActivity){ data, soundsIndex-> + startActivity(Intent(this@HomeActivity, ListActivity::class.java).apply { + putExtra(ListActivity.Companion.KEY_SOUNDS_DATA,data) + putExtra(ListActivity.Companion.KEY_SOUNDS_INDEX,soundsIndex) + }) + + }.apply { + Util.showLog("------Main--updateData") + updateData(App.Companion.entitySoundsList) + }) + } + layoutFavorite.setOnClickListener { + startActivity(Intent(this@HomeActivity, CollectionActivity::class.java)) + } + layoutRecorder.setOnClickListener { + startActivity(Intent(this@HomeActivity, CustomActivity::class.java)) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/home/HomeAdapter.kt b/app/src/main/java/com/prank/funky/voice/home/HomeAdapter.kt new file mode 100644 index 0000000..71181c9 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/home/HomeAdapter.kt @@ -0,0 +1,51 @@ +package com.prank.funky.voice.home + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.core.content.ContextCompat +import androidx.recyclerview.widget.RecyclerView +import com.bumptech.glide.Glide +import com.prank.funky.voice.databinding.HomeAdapterBinding +import com.prank.funky.voice.objectBox.EntitySounds +import com.prank.funky.voice.utils.BaseAdapter +import com.prank.funky.voice.utils.RecyclerSpace +import com.prank.funky.voice.utils.Util + +class HomeAdapter(context: Context, var onClickIntent: (entitySounds: EntitySounds, soundsIndex:Int) -> Unit) : + BaseAdapter(context) { + override fun getViewBinding(parent: ViewGroup?): HomeAdapterBinding { + return HomeAdapterBinding.inflate( + LayoutInflater.from(parent?.context), + parent, + false + ) + } + + override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { + val itemHolder = holder as VHolder + val i = position % 4 + itemHolder.vb.run { + val layoutParams = root.layoutParams as ViewGroup.MarginLayoutParams + if(position == 0||position == 1){ + layoutParams.setMargins(0, RecyclerSpace.Companion.dpToPx(10f).toInt(), 0, 0) + }else{ + layoutParams.setMargins(0, 0, 0, 0) + } + root.layoutParams = layoutParams + root.background = ContextCompat.getDrawable(mContext, Util.mainBgs[i]) + val entitySounds: EntitySounds = data[position] + val covert: String = entitySounds.covert.toString() + Glide.with(mContext).load(covert).into(imageView) + textView.text = entitySounds.name + root.setOnClickListener(View.OnClickListener { + onClickIntent(entitySounds,i) + + + }) + } + + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/objectBox/DbBaseFunction.kt b/app/src/main/java/com/prank/funky/voice/objectBox/DbBaseFunction.kt new file mode 100644 index 0000000..d713564 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/objectBox/DbBaseFunction.kt @@ -0,0 +1,79 @@ +package com.prank.funky.voice.objectBox + +import android.content.Context +import io.objectbox.Box +import io.objectbox.BoxStore +import io.objectbox.query.Query +import java.util.Collections + +object DbBaseFunction { + + + lateinit var boxStore: BoxStore + fun init(context: Context?) { + boxStore = MyObjectBox.builder() + .androidContext(context) + .build() + } + fun getSoundsBox(): Box { + return boxStore.boxFor(EntitySoundsDetail::class.java) + } + + + fun getAllLike(): List { + val query: Query = + getSoundsBox().query(EntitySoundsDetail_.isLike.equal(true)) + .build() + val data: List = query.find() + query.close() + return data + } + + fun getAllCustomization(): List { + val query: Query = getSoundsBox() + .query(EntitySoundsDetail_.isCustomization.equal(true)).build() + val data: List = query.find() + query.close() + return data + } + + + fun getMore(): List { + val query: Query = getSoundsBox() + .query(EntitySoundsDetail_.isCustomization.equal(false)).build() + val data: List = query.find() + query.close() + Collections.shuffle(data) + return data.subList(0, 11) + } + + fun checkLike(info: EntitySoundsDetail): Boolean { + val query: Query = getSoundsBox() + .query(EntitySoundsDetail_.name.equal(info.name)).build() + val data: EntitySoundsDetail? = query.findFirst() + query.close() + return data?.isLike ?: false + } + + fun checkName(name: String?): Boolean { + val query: Query = + getSoundsBox().query(EntitySoundsDetail_.name.equal(name)).build() + val data: EntitySoundsDetail? = query.findFirst() + query.close() + return if (data != null) { + false + } else { + true + } + } + + fun addLike(info: EntitySoundsDetail) { + info.isLike = true + getSoundsBox().put(info) + } + + fun removeLike(info: EntitySoundsDetail) { + info.isLike = false + getSoundsBox().put(info) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/objectBox/EntitySounds.kt b/app/src/main/java/com/prank/funky/voice/objectBox/EntitySounds.kt new file mode 100644 index 0000000..03d77e6 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/objectBox/EntitySounds.kt @@ -0,0 +1,19 @@ +package com.prank.funky.voice.objectBox + +import io.objectbox.annotation.Entity +import io.objectbox.annotation.Id +import java.io.Serializable + +@Entity +class EntitySounds : Serializable { + @JvmField + @Id + var id: Long = 0 + @JvmField + var name: String? = null + @JvmField + var covert: String? = null + + @JvmField + var entitySoundsDetailList: List? = null +} diff --git a/app/src/main/java/com/prank/funky/voice/objectBox/EntitySoundsDetail.kt b/app/src/main/java/com/prank/funky/voice/objectBox/EntitySoundsDetail.kt new file mode 100644 index 0000000..351ea36 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/objectBox/EntitySoundsDetail.kt @@ -0,0 +1,28 @@ +package com.prank.funky.voice.objectBox + +import io.objectbox.annotation.Entity +import io.objectbox.annotation.Id +import java.io.Serializable + + +@Entity +class EntitySoundsDetail : Serializable { + @JvmField + @Id + var id: Long = 0 + + @JvmField + var name: String? = null + @JvmField + var covert: String? = null + + @JvmField + var soundsPath: String? = null + @JvmField + var isLike: Boolean = false + + @JvmField + var isCustomization: Boolean = false + @JvmField + var colorIndex: Int = 0 +} diff --git a/app/src/main/java/com/prank/funky/voice/playSounds/CustomerRippleView.kt b/app/src/main/java/com/prank/funky/voice/playSounds/CustomerRippleView.kt new file mode 100644 index 0000000..c9167d0 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/playSounds/CustomerRippleView.kt @@ -0,0 +1,133 @@ +package com.prank.funky.voice.playSounds + +import android.animation.ValueAnimator +import android.content.Context +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Paint +import android.util.AttributeSet +import android.view.View +import androidx.core.animation.doOnEnd +import com.prank.funky.voice.utils.RecyclerSpace +import com.prank.funky.voice.utils.Util + +class CustomerRippleView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null +) : View(context, attrs) { + + private val paint = Paint(Paint.ANTI_ALIAS_FLAG).apply { + color = Color.parseColor("#FFFFFF") + style = Paint.Style.FILL + } + + private val ripples = mutableListOf() + private var maxRadius = 200f + private val rippleDuration = 1000L + private val rippleDelay = 300L + + private var curisRunning = false + private var isPaused = false + + private val rippleRunnable = object : Runnable { + override fun run() { + if (!curisRunning || isPaused) return + val ripple = Ripple() + ripples.add(ripple) + ripple.start() + Util.showLog("-------start rippleRunnable") + postDelayed(this, rippleDelay) + } + } + + fun setMaxRadius(radiusDp: Float) { + maxRadius = RecyclerSpace.Companion.dpToPx(radiusDp) + } + + fun setColor(color: Int) { + paint.color = color + } + + fun startRipple() { + if (curisRunning) return + curisRunning = true + isPaused = false + post(rippleRunnable) + } + + fun stopRipple() { + curisRunning = false + isPaused = false + removeCallbacks(rippleRunnable) + ripples.forEach { it.cancel() } + ripples.clear() + invalidate() + } + + fun pauseRipple() { + isPaused = true + ripples.forEach { it.pause() } + removeCallbacks(rippleRunnable) + } + + fun resumeRipple() { + if (!curisRunning || !isPaused) return + isPaused = false + ripples.forEach { it.resume() } + post(rippleRunnable) + } + + override fun onDraw(canvas: Canvas) { + super.onDraw(canvas) + val centerX = width / 2f + val centerY = height / 2f + val iterator = ripples.iterator() + while (iterator.hasNext()) { + val ripple = iterator.next() + if (!ripple.isRunning) { + iterator.remove() + continue + } + paint.alpha = (255 * (1 - ripple.progress)).toInt() + canvas.drawCircle(centerX, centerY, maxRadius * ripple.progress, paint) + } + if (ripples.isNotEmpty()) invalidate() + } + + inner class Ripple { + var progress = 0f + var isRunning = true + private var animator: ValueAnimator? = null + + fun start() { + animator = ValueAnimator.ofFloat(0f, 1f).apply { + duration = rippleDuration + addUpdateListener { + progress = it.animatedValue as Float + invalidate() + } + doOnEnd { + this@Ripple.isRunning = false + } + start() + } + } + + fun pause() { + if (animator?.isRunning == true) { + animator?.pause() + } + } + + fun resume() { + if (animator?.isPaused == true) { + animator?.resume() + } + } + + fun cancel() { + animator?.cancel() + isRunning = false + } + } +} diff --git a/app/src/main/java/com/prank/funky/voice/playSounds/PlaySoundsActivity.kt b/app/src/main/java/com/prank/funky/voice/playSounds/PlaySoundsActivity.kt new file mode 100644 index 0000000..3041127 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/playSounds/PlaySoundsActivity.kt @@ -0,0 +1,285 @@ +package com.prank.funky.voice.playSounds + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.media.AudioManager +import android.media.MediaPlayer +import android.os.Build +import android.os.Bundle +import android.os.CountDownTimer +import android.view.View +import android.widget.FrameLayout +import android.widget.ImageView +import android.widget.ProgressBar +import android.widget.SeekBar +import android.widget.TextView +import android.widget.Toast +import androidx.activity.OnBackPressedCallback +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.content.ContextCompat +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.bumptech.glide.Glide +import com.prank.funky.voice.R +import com.prank.funky.voice.utils.Util +import com.prank.funky.voice.objectBox.DbBaseFunction +import com.prank.funky.voice.objectBox.EntitySoundsDetail +import com.prank.funky.voice.collection.CollectionActivity +import java.io.IOException + +class PlaySoundsActivity : AppCompatActivity() { + + private lateinit var textViewTitle: TextView + private lateinit var ImaggBg: FrameLayout + private lateinit var mSoundsImage: ImageView + private lateinit var loadPlayPb: ProgressBar + private lateinit var playSoundsBtn: ImageView + private lateinit var volumeBar: SeekBar + private lateinit var timerLayout: FrameLayout + private lateinit var looperLayout: FrameLayout + private lateinit var favoriteLayout: FrameLayout + private lateinit var imageFavorite: ImageView + private lateinit var imageClock: ImageView + private lateinit var imageLoop: ImageView + private var mediaPlayer: MediaPlayer? = null + private var volumeBroadcastReceiver: BroadcastReceiver? = null + private var clockTimer: PopupWindowsTimer? = null + private var countDownTimer: CountDownTimer? = null + private lateinit var playAnime: CustomerRippleView + private lateinit var playFrame: FrameLayout + private var isPause = false + + companion object { + val KEY_SOUNDS_DETAIL_INDEX = "sounds_detail_index" + val KEY_SOUNDS_DETAIL_DATA = "sounds_detail_data" + } + + private var soundsIndex: Int = 0 + private var entitySoundsDetail: EntitySoundsDetail? = null + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_play_sounds) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + + onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + Util.showLog("-----------handleOnBackPressed") + backIntent() + + } + + }) + textViewTitle = findViewById(R.id.sounds_name) + ImaggBg = findViewById(R.id.sounds_img) + loadPlayPb = findViewById(R.id.play_loading) + mSoundsImage = findViewById(R.id.image) + playSoundsBtn = findViewById(R.id.btn_play) + playFrame = findViewById(R.id.frame_layout_btn_play) + playAnime = findViewById(R.id.rippleView) + volumeBar = findViewById(R.id.volume_seekbar) + timerLayout = findViewById(R.id.frameLayout_timer) + looperLayout = findViewById(R.id.frameLayout_loop) + favoriteLayout = findViewById(R.id.framelayout_favorite) + imageFavorite = findViewById(R.id.image_favorite) + imageClock = findViewById(R.id.image_clock) + imageLoop = findViewById(R.id.image_loop) + + soundsIndex = intent.getIntExtra(KEY_SOUNDS_DETAIL_INDEX, 0) + when (soundsIndex) { + 0 -> playAnime.setColor(getColor(R.color.main_color1)) + 1 -> playAnime.setColor(getColor(R.color.main_color2)) + 2 -> playAnime.setColor(getColor(R.color.main_color3)) + 3 -> playAnime.setColor(getColor(R.color.main_color4)) + } + + + ImaggBg.background = + ContextCompat.getDrawable(this@PlaySoundsActivity, Util.mainBgs[soundsIndex]) + entitySoundsDetail = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + intent.getSerializableExtra(KEY_SOUNDS_DETAIL_DATA, EntitySoundsDetail::class.java) + } else { + @Suppress("DEPRECATION") + intent.getSerializableExtra(KEY_SOUNDS_DETAIL_DATA) as? EntitySoundsDetail + } + + Util.syncCurrentVolume(this@PlaySoundsActivity, volumeBar) + entitySoundsDetail?.run { + soundsPath?.let { initMediaPlayer(it) } + val checkLike = DbBaseFunction.checkLike(this) + Util.showLog("check like = $checkLike") + imageFavorite.setSelected(checkLike) + textViewTitle.text = name + + covert?.let { + Glide.with(this@PlaySoundsActivity).load(it) + .placeholder(R.drawable.icon_music) + .into(mSoundsImage) + } ?: Glide.with(this@PlaySoundsActivity).load(R.drawable.icon_music) + .into(mSoundsImage) + + } + setAllClick() + volumeBroadcastReceiver = object : BroadcastReceiver() { + override fun onReceive(context: Context, intent: Intent) { + if (intent.action == "android.media.VOLUME_CHANGED_ACTION") { + val audioManager = context.getSystemService(AUDIO_SERVICE) as AudioManager + val currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC) + volumeBar.progress = currentVolume + + } + } + } + val filter = IntentFilter("android.media.VOLUME_CHANGED_ACTION") + registerReceiver(volumeBroadcastReceiver, filter) + } + + + private fun backIntent() { + val intent = Intent().apply { + putExtra(CollectionActivity.Companion.KEY_DELETE_FAVORITE, !imageFavorite.isSelected) + } + setResult(RESULT_OK, intent) + finish() + } + + private fun setAllClick() { + findViewById(R.id.framelayout_back).setOnClickListener { + Util.showLog("-----------finish") + backIntent() + + } + favoriteLayout.setOnClickListener { + imageFavorite.isSelected = !imageFavorite.isSelected + + entitySoundsDetail?.let { + if (imageFavorite.isSelected) { + DbBaseFunction.addLike(it.apply { + colorIndex = soundsIndex + }) + + } else { + DbBaseFunction.removeLike(it) + } + } + + } + looperLayout.setOnClickListener { + imageLoop.isSelected = !imageLoop.isSelected + mediaPlayer?.isLooping = imageLoop.isSelected + } + timerLayout.setOnClickListener { + clockTimer = clockTimer ?: PopupWindowsTimer(this@PlaySoundsActivity) { + clockTimer?.hidePop() + if (it == -1L) { + imageClock.isSelected = false + stopCountDown() + } else { + imageClock.isSelected = true + startCountDown(it) + } + } + clockTimer?.showDown(timerLayout) + } + playSoundsBtn.setOnClickListener { view -> + mediaPlayer?.let { + if (playSoundsBtn.isSelected) { + if (it.isPlaying) { + it.pause() + isPause = true + playAnime.pauseRipple() + } + } else { + if (!it.isPlaying) { + it.start() + if (isPause) { + playAnime.resumeRipple() + } else { + playAnime.startRipple() + } + isPause = false + } + } + } + playSoundsBtn.setSelected(!playSoundsBtn.isSelected) + } + } + + private fun startCountDown(time: Long) { + stopCountDown() + countDownTimer = object : CountDownTimer(time, 1000) { + override fun onTick(millisUntilFinished: Long) { + } + + override fun onFinish() { + imageClock.isSelected = false + clockTimer?.setOffSelected() + if (!mediaPlayer!!.isPlaying) { + playSoundsBtn.setSelected(true) + mediaPlayer!!.start() + playAnime.startRipple() + } + } + } + countDownTimer?.start() + } + + private fun stopCountDown() { + if (countDownTimer != null) { + countDownTimer!!.cancel() + } + } + + private fun initMediaPlayer(url: String) { + showPlayBtn(false) + Util.showLog("url = $url") + mediaPlayer = MediaPlayer() + try { + mediaPlayer!!.reset() + mediaPlayer!!.setDataSource(url) + mediaPlayer!!.prepareAsync() + mediaPlayer!!.setOnPreparedListener { showPlayBtn(true) } + mediaPlayer!!.setOnCompletionListener { + playSoundsBtn.setSelected(false) + playAnime.stopRipple() + isPause = false + } + } catch (ioException: IOException) { + showPlayBtn(false) + Toast.makeText(this, "----------prepare fail", Toast.LENGTH_SHORT).show() + } + } + + private fun showPlayBtn(showBtn: Boolean) { + if (showBtn) { + playFrame.visibility = View.VISIBLE + loadPlayPb.visibility = View.GONE + } else { + playFrame.visibility = View.GONE + loadPlayPb.visibility = View.VISIBLE + } + } + + override fun onDestroy() { + super.onDestroy() + volumeBroadcastReceiver?.let { unregisterReceiver(it) } + stopCountDown() + playAnime.stopRipple() + isPause = false + mediaPlayer?.apply { + stop() + reset() + release() + } + mediaPlayer = null + + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/playSounds/PopupWindowsTimer.kt b/app/src/main/java/com/prank/funky/voice/playSounds/PopupWindowsTimer.kt new file mode 100644 index 0000000..e4b23bd --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/playSounds/PopupWindowsTimer.kt @@ -0,0 +1,111 @@ +package com.prank.funky.voice.playSounds + +import android.content.Context +import android.util.Log +import android.view.Gravity +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.LinearLayout +import android.widget.PopupWindow +import android.widget.TextView +import androidx.core.view.size +import com.prank.funky.voice.R + + +class PopupWindowsTimer(var context: Context, var onClickTimer:(time:Long)->Unit):View.OnClickListener { + private lateinit var tvOff: TextView + private lateinit var tv15s: TextView + private lateinit var tv30s: TextView + private lateinit var tv1Min: TextView + private lateinit var tv5Min: TextView + private lateinit var linearLayoutTimer:LinearLayout + private lateinit var popupWindow:PopupWindow + + init { + + initPopupWindows(context) + } + + private fun initPopupWindows(context: Context) { + + val popupView = LayoutInflater.from(context).inflate(R.layout.dialog_timer, null) + + popupWindow = PopupWindow( + popupView, + ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT, + true + ) + + popupWindow.setBackgroundDrawable(null) + popupWindow.isOutsideTouchable = true + + + tvOff = popupView.findViewById(R.id.tv_off) + tv15s = popupView.findViewById(R.id.tv_15s) + tv30s = popupView.findViewById(R.id.tv_30s) + tv1Min = popupView.findViewById(R.id.tv_1m) + tv5Min = popupView.findViewById(R.id.tv_5m) + linearLayoutTimer = popupView.findViewById(R.id.layout_time) + tvOff.setOnClickListener(this) + tv15s.setOnClickListener(this) + tv30s.setOnClickListener(this) + tv1Min.setOnClickListener(this) + tv5Min.setOnClickListener(this) + + setSelected(tvOff) + } + fun showDown(view: View) { + val location = IntArray(2) + view.getLocationOnScreen(location) + + val x = location[0] + val y = location[1] + val popupHeight = popupWindow.height + + Log.d("-------------", "--------x=$x---y=$y----popupHeight=$popupHeight") + popupWindow.showAsDropDown( + view, 50, + 20, + Gravity.NO_GRAVITY + ) + } + fun hidePop() { + popupWindow.dismiss() + } + + fun setOffSelected() { + setSelected(tvOff) + } + private fun setSelected(tv: TextView) { + val childCount: Int = linearLayoutTimer.size + for (i in 0.. onClickTimer(-1) + "15 sec" -> onClickTimer(15 * 1000L) + "30 sec" -> onClickTimer(30 * 1000L) + "1 min" -> onClickTimer(60 * 1000L) + "5 min" -> onClickTimer(5 * 60 * 1000L) + } + setSelected(v1) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/recordSounds/CustomActivity.kt b/app/src/main/java/com/prank/funky/voice/recordSounds/CustomActivity.kt new file mode 100644 index 0000000..c10d6f9 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/recordSounds/CustomActivity.kt @@ -0,0 +1,140 @@ +package com.prank.funky.voice.recordSounds + +import android.content.Intent +import android.net.Uri +import android.os.Bundle +import android.widget.FrameLayout +import android.widget.LinearLayout +import android.widget.TextView +import android.widget.Toast +import androidx.activity.enableEdgeToEdge +import androidx.activity.result.contract.ActivityResultContracts +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import androidx.core.view.isVisible +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.prank.funky.voice.utils.RecyclerSpace +import com.prank.funky.voice.R +import com.prank.funky.voice.utils.Util +import com.prank.funky.voice.objectBox.DbBaseFunction +import com.prank.funky.voice.playSounds.PlaySoundsActivity + +class CustomActivity : AppCompatActivity() { + private lateinit var tvImport: TextView + private lateinit var tvRecording: TextView + private lateinit var recyclerViewCustom: RecyclerView + + private lateinit var importManager: ImportManager + private var saveSoundsDialog: SaveSoundsDialog? = null + private lateinit var customAdapter: CustomAdapter + + private lateinit var recordManager: RecordManager + private lateinit var emptyLayout: LinearLayout + private var importSoundsUri: Uri? = null + + private val mLauncher = registerForActivityResult( + ActivityResultContracts.StartActivityForResult() + ) { result -> + if (result.resultCode == RESULT_OK) { + val data = result.data + val value = data?.getBooleanExtra(KEY_SAVE_SOUNDS_OK, false) + if (value == true) { + queryCustomData() + } + + } + } + companion object{ + val KEY_SAVE_SOUNDS_OK="save_sounds_ok" + } + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_custom) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + tvImport = findViewById(R.id.text_import) + tvRecording = findViewById(R.id.text_recording) + recyclerViewCustom = findViewById(R.id.custom_recyclerview) + emptyLayout = findViewById(R.id.empty_custom) + + + importManager = ImportManager(this) { localUri, oldName -> + Util.showLog("-----选择-- -$localUri") + importSoundsUri = localUri + showSaveDialog(oldName) + + } + importManager.registerLaunchers() + + recordManager = RecordManager(this@CustomActivity){ + mLauncher.launch(Intent(this@CustomActivity, RecordSoundsActivity::class.java)) + } + recordManager.registerLaunchers() + + recyclerViewCustom.run { + val itemHelper = RecyclerSpace(5, 5, 3) + addItemDecoration(itemHelper) + setLayoutManager(GridLayoutManager(this@CustomActivity, 3)) + customAdapter = CustomAdapter(this@CustomActivity) { data, soundsIndex -> + startActivity(Intent(this@CustomActivity, PlaySoundsActivity::class.java).apply { + putExtra(PlaySoundsActivity.Companion.KEY_SOUNDS_DETAIL_DATA, data) + putExtra(PlaySoundsActivity.Companion.KEY_SOUNDS_DETAIL_INDEX, soundsIndex) + }) + } + queryCustomData() + setAdapter(customAdapter) + } + setAllClick() + + } + + private fun queryCustomData() { + val allCustom = DbBaseFunction.getAllCustomization() + Util.showLog("-----Custom---=${allCustom.size}") + showCustomEmptyView(allCustom.isEmpty()) + customAdapter.updateData(allCustom) + } + private fun setAllClick() { + findViewById(R.id.framelayout_back).setOnClickListener { finish() } + tvImport.setOnClickListener { + importManager.requestPermissionAndPick() + } + tvRecording.setOnClickListener { + recordManager.request() + } + } + + private fun showSaveDialog(oldName: String? = "") { + saveSoundsDialog = saveSoundsDialog ?: SaveSoundsDialog{ newName-> + importSoundsUri?.let { uri-> + Util.copyFileFromLocalUri(this@CustomActivity, uri)?.let{ path-> + Util.saveSoundsDb(this@CustomActivity,path,newName){ ok-> + if(ok){ + queryCustomData() + Util.showLog("-------save-----ok--${newName}") + Toast.makeText(this@CustomActivity,getString(R.string.save_audio_ok),Toast.LENGTH_SHORT).show() + } + saveSoundsDialog?.dismiss() + + } + } + + } + } + if (oldName != null) { + saveSoundsDialog?.updateDefaultName(oldName) + } + saveSoundsDialog?.show(supportFragmentManager, "") + } + + private fun showCustomEmptyView(isEmpty: Boolean) { + emptyLayout.isVisible = isEmpty + recyclerViewCustom.isVisible = !isEmpty + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/recordSounds/CustomAdapter.kt b/app/src/main/java/com/prank/funky/voice/recordSounds/CustomAdapter.kt new file mode 100644 index 0000000..12a216d --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/recordSounds/CustomAdapter.kt @@ -0,0 +1,47 @@ +package com.prank.funky.voice.recordSounds + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.prank.funky.voice.utils.BaseAdapter +import com.prank.funky.voice.objectBox.EntitySoundsDetail +import com.prank.funky.voice.databinding.CustomAudioAdapterBinding + +class CustomAdapter( + context: Context, + var onClickIntent: (sounds: EntitySoundsDetail, soundsIndex: Int) -> Unit +) : + BaseAdapter(context) { + override fun getViewBinding(parent: ViewGroup?): CustomAudioAdapterBinding { + return CustomAudioAdapterBinding.inflate( + LayoutInflater.from(parent?.context), + parent, + false + ) + } + + override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { + val itemHolder = holder as VHolder + val entitySoundsDetail: EntitySoundsDetail = data[position] + + itemHolder.vb.run { + if(position == data.size-1){ + bottomPlaceholder.visibility = View.VISIBLE + }else{ + bottomPlaceholder.visibility = View.GONE + } + entitySoundsDetail.run { + textView.text = entitySoundsDetail.name + root.setOnClickListener { + onClickIntent(entitySoundsDetail, colorIndex) + + } + } + + } + + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/recordSounds/ImportManager.kt b/app/src/main/java/com/prank/funky/voice/recordSounds/ImportManager.kt new file mode 100644 index 0000000..386a38d --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/recordSounds/ImportManager.kt @@ -0,0 +1,106 @@ +package com.prank.funky.voice.recordSounds + +import android.Manifest +import android.app.Activity +import android.content.Context +import android.content.pm.PackageManager +import android.net.Uri +import android.os.Build +import android.provider.DocumentsContract +import android.provider.MediaStore +import androidx.activity.ComponentActivity +import androidx.activity.result.ActivityResultLauncher +import androidx.activity.result.contract.ActivityResultContracts +import androidx.core.content.ContextCompat + + +class ImportManager( + private val activity: Activity, + private val onAudioPicked: (Uri,String) -> Unit +) { + + private lateinit var permissionLauncher: ActivityResultLauncher> + private lateinit var audioPickerLauncher: ActivityResultLauncher + + fun registerLaunchers() { + // 文件选择器 + audioPickerLauncher = (activity as ComponentActivity) + .registerForActivityResult(ActivityResultContracts.GetContent()) { uri -> + uri?.let { + val pair = getAudioInfoFromUri(activity, it) + onAudioPicked(pair.first,pair.second) + } + } + + // 权限请求 + permissionLauncher = (activity as ComponentActivity) + .registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { result -> + if (result.values.all { it }) { + openAudioPicker() + } + } + } + + fun requestPermissionAndPick() { + val permissions = when { + Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU -> { + arrayOf(Manifest.permission.READ_MEDIA_AUDIO) + } + + else -> { + arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE) + } + } + + if (permissions.all { + ContextCompat.checkSelfPermission(activity, it) == PackageManager.PERMISSION_GRANTED + }) { + openAudioPicker() + } else { + permissionLauncher.launch(permissions) + } + } + + private fun openAudioPicker() { + audioPickerLauncher.launch("audio/*") + } + + + + fun getAudioInfoFromUri(context: Context, uri: Uri): Pair { + var queryUri = uri + + // 处理 DocumentProvider 的 URI + if (DocumentsContract.isDocumentUri(context, uri)) { + val docId = DocumentsContract.getDocumentId(uri) // 例如 "audio:1000000683" + val split = docId.split(":") + if (split.size == 2 && split[0] == "audio") { + val id = split[1] + queryUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI + .buildUpon() + .appendPath(id) + .build() + } + } + + var title: String ="unknown" + var duration: Long? = null + + val projection = arrayOf( + MediaStore.Audio.Media.TITLE, + MediaStore.Audio.Media.DURATION + ) + + context.contentResolver.query(queryUri, projection, null, null, null)?.use { cursor -> + if (cursor.moveToFirst()) { + title = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE)) + duration = + cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION)) + } + } + + return uri to title + } + + +} diff --git a/app/src/main/java/com/prank/funky/voice/recordSounds/RecordHelper.kt b/app/src/main/java/com/prank/funky/voice/recordSounds/RecordHelper.kt new file mode 100644 index 0000000..1dc013e --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/recordSounds/RecordHelper.kt @@ -0,0 +1,63 @@ +package com.prank.funky.voice.recordSounds + +import android.content.Context +import android.media.MediaRecorder +import android.os.Build +import java.io.File +import java.io.IOException + +class RecordHelper(var context: Context) { + private var mediaRecorder: MediaRecorder? = null + private var tempFileName: String? = null + private var isRecording = false + + init { + val dir = context.cacheDir + val file = File(dir, "temp_audio.mp3") + tempFileName = file.absolutePath + } + + + fun getRecordStatus() = isRecording + fun startRecording() { + if (isRecording) return + mediaRecorder = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + MediaRecorder(context) + } else { + MediaRecorder() // 旧版本依然可用 + } + mediaRecorder?.run { + setAudioSource(MediaRecorder.AudioSource.MIC) + setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP) + setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB) + setOutputFile(tempFileName) + try { + prepare() + start() + isRecording = true + } catch (e: IOException) { + e.printStackTrace() + } + } + + + } + + fun stopRecording() { + if (!isRecording) return + + try { + mediaRecorder?.stop() + } catch (e: IllegalStateException) { + e.printStackTrace() + } finally { + mediaRecorder?.release() + mediaRecorder = null + isRecording = false + } + } + + fun getTempPath(): String? { + return tempFileName + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/recordSounds/RecordManager.kt b/app/src/main/java/com/prank/funky/voice/recordSounds/RecordManager.kt new file mode 100644 index 0000000..b9a7b9f --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/recordSounds/RecordManager.kt @@ -0,0 +1,45 @@ +package com.prank.funky.voice.recordSounds + +import android.Manifest +import android.app.Activity +import android.content.pm.PackageManager +import android.widget.Toast +import androidx.activity.ComponentActivity +import androidx.activity.result.ActivityResultCallback +import androidx.activity.result.ActivityResultLauncher +import androidx.activity.result.contract.ActivityResultContracts.RequestPermission +import androidx.core.content.ContextCompat + +class RecordManager(private val activity: Activity, var startRecord:()->Unit) { + private var requestRecordAudioLauncher: ActivityResultLauncher? = null + fun registerLaunchers() { + requestRecordAudioLauncher = + (activity as ComponentActivity).registerForActivityResult( + RequestPermission(), + ActivityResultCallback { isGranted: Boolean -> + if (isGranted) { + startRecord() + } else { + Toast.makeText( + activity, + "Recording permission denied", + Toast.LENGTH_SHORT + ).show() + } + } + ) + } + + fun request() { + val permissions = Manifest.permission.RECORD_AUDIO + if (ContextCompat.checkSelfPermission(activity, permissions) + != PackageManager.PERMISSION_GRANTED + ) { + requestRecordAudioLauncher!!.launch(permissions) + } else { + startRecord() + } + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/recordSounds/RecordSoundsActivity.kt b/app/src/main/java/com/prank/funky/voice/recordSounds/RecordSoundsActivity.kt new file mode 100644 index 0000000..e9d7035 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/recordSounds/RecordSoundsActivity.kt @@ -0,0 +1,136 @@ +package com.prank.funky.voice.recordSounds + +import android.annotation.SuppressLint +import android.content.Intent +import android.os.Bundle +import android.os.Handler +import android.os.SystemClock +import android.widget.FrameLayout +import android.widget.TextView +import android.widget.Toast +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.prank.funky.voice.R +import com.prank.funky.voice.utils.Util +import com.prank.funky.voice.playSounds.CustomerRippleView + +class RecordSoundsActivity : AppCompatActivity() { + private lateinit var tvStart: TextView + private lateinit var recordTime: TextView + private lateinit var customerRippleView: CustomerRippleView + private var record: RecordHelper? = null + + private var startTime: Long = 0 + private var elapsedTime: Long = 0 + private var handler: Handler? = null + private var runnable: Runnable? = null + + private var saveSoundsDialog: SaveSoundsDialog? = null + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_record) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + findViewById(R.id.frame_back).setOnClickListener { + backIntent(false) + } + tvStart = findViewById(R.id.text_start) + recordTime = findViewById(R.id.record_time) + customerRippleView = findViewById(R.id.rippleView) + customerRippleView.run { + setColor(getColor(R.color.color_DCC8FF)) + setMaxRadius(120F) + } + handler = Handler(mainLooper) + setAllClick() + } + + private fun setAllClick() { + tvStart.setOnClickListener { + if (record?.getRecordStatus() == true) { + stopRecord() + } else { + startRecord() + } + + } + } + + private fun startRecord() { + tvStart.text = getString(R.string.stop) + record = record ?: RecordHelper(this@RecordSoundsActivity) + record?.startRecording() + customerRippleView.startRipple() + runnable = runnable ?: object : Runnable { + @SuppressLint("DefaultLocale") + override fun run() { + val currentTime = SystemClock.elapsedRealtime() + elapsedTime = currentTime - startTime + val milliseconds = (elapsedTime % 1000).toInt() / 10 + val seconds = (elapsedTime / 1000).toInt() % 60 + val minutes = (elapsedTime / (1000 * 60)).toInt() % 60 + recordTime.text = String.format( + "%02d : %02d : %02d", + minutes, + seconds, + milliseconds + ) + handler?.postDelayed(this, 10) + } + } + startTime = SystemClock.elapsedRealtime() + handler?.post(runnable!!) + } + + private fun stopRecord() { + record?.stopRecording() + customerRippleView.stopRipple() + handler?.removeCallbacks(runnable!!) + showSaveDialog() + } + + private fun showSaveDialog() { + saveSoundsDialog = saveSoundsDialog ?: SaveSoundsDialog({ + backIntent(false) + }) { newName -> + record?.getTempPath()?.let { + Util.saveSoundsDb(this@RecordSoundsActivity, it, newName) { ok -> + if (ok) { + Toast.makeText( + this@RecordSoundsActivity, getString(R.string.save_audio_ok), + Toast.LENGTH_SHORT + ).show() + } + saveSoundsDialog?.dismiss() + backIntent(ok) + } + } + } + saveSoundsDialog?.show(supportFragmentManager, "") + } + + + private fun backIntent(saveOk: Boolean) { + val intent = Intent().apply { + putExtra(CustomActivity.KEY_SAVE_SOUNDS_OK, saveOk) + } + setResult(RESULT_OK, intent) + finish() + } + + override fun onDestroy() { + super.onDestroy() + record?.stopRecording() + customerRippleView.stopRipple() + runnable?.let { + handler?.removeCallbacks(it) + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/recordSounds/SaveSoundsDialog.kt b/app/src/main/java/com/prank/funky/voice/recordSounds/SaveSoundsDialog.kt new file mode 100644 index 0000000..f4b8f31 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/recordSounds/SaveSoundsDialog.kt @@ -0,0 +1,82 @@ +package com.prank.funky.voice.recordSounds + +import android.os.Bundle +import android.view.Gravity +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.view.WindowManager +import android.widget.EditText +import android.widget.TextView +import android.widget.Toast +import androidx.fragment.app.DialogFragment +import com.prank.funky.voice.objectBox.DbBaseFunction +import com.prank.funky.voice.R + +class SaveSoundsDialog(var clickCancel: (() -> Unit)? = null, var clickSave: (newName: String) -> Unit) : DialogFragment() { + + private lateinit var et: EditText + private lateinit var cancel: TextView + private lateinit var save: TextView + private var oleName: String? = null + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + + val view = inflater.inflate(R.layout.dialog_save_audio, container, false) + et = view.findViewById(R.id.edit_name) + cancel = view.findViewById(R.id.text_cancel) + save = view.findViewById(R.id.text_save) + oleName?.let { et.setText(it) } + init() + return view + } + + fun updateDefaultName(oldName: String) { + oleName = oldName + + } + + fun init() { + + dialog?.run { + val window = dialog!!.window + window!!.setBackgroundDrawableResource(R.color.color_transparent) + window.decorView.setPadding(0, 0, 0, 0) + val wlp = window.attributes + wlp.gravity = Gravity.CENTER + wlp.width = WindowManager.LayoutParams.WRAP_CONTENT + wlp.height = WindowManager.LayoutParams.WRAP_CONTENT + window.attributes = wlp + + setCancelable(false) + setCanceledOnTouchOutside(false) + save.setOnClickListener { + val name: String = et.text.toString().trim() + val checkName = DbBaseFunction.checkName(name) + if(!checkName){ + requireContext().let { + Toast.makeText( + it, + getString(R.string.name_repeat), + Toast.LENGTH_SHORT + ).show() + } + + }else{ + clickSave(name) + } + + } + cancel.setOnClickListener { + dismiss() + clickCancel?.invoke() + } + } + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/soundsList/ListActivity.kt b/app/src/main/java/com/prank/funky/voice/soundsList/ListActivity.kt new file mode 100644 index 0000000..fd499e2 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/soundsList/ListActivity.kt @@ -0,0 +1,79 @@ +package com.prank.funky.voice.soundsList + +import android.content.Intent +import android.os.Build +import android.os.Bundle +import android.widget.FrameLayout +import android.widget.TextView +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.prank.funky.voice.R +import com.prank.funky.voice.utils.RecyclerSpace +import com.prank.funky.voice.utils.Util +import com.prank.funky.voice.objectBox.EntitySounds +import com.prank.funky.voice.playSounds.PlaySoundsActivity + +class ListActivity : AppCompatActivity() { + private lateinit var textViewTitle: TextView + private lateinit var recyclerView: RecyclerView + + private var soundsIndex:Int = 0 + private var soundData: EntitySounds? = null + + companion object { + val KEY_SOUNDS_INDEX = "color_index" + val KEY_SOUNDS_DATA = "sounds_data" + } + + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_list) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + + findViewById(R.id.framelayout_back).setOnClickListener { + finish() + } + textViewTitle = findViewById(R.id.text_title) + recyclerView = findViewById(R.id.sounds_list_recyclerview) + soundsIndex = intent.getIntExtra(KEY_SOUNDS_INDEX, 0) + + + soundData = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + intent.getSerializableExtra(KEY_SOUNDS_DATA, EntitySounds::class.java) + } else { + @Suppress("DEPRECATION") + intent.getSerializableExtra(KEY_SOUNDS_DATA) as? EntitySounds + } + soundData?.run { + textViewTitle.text = name + recyclerView.run { + val itemHelper = RecyclerSpace(5, 5, 3) + addItemDecoration(itemHelper) + setLayoutManager(GridLayoutManager(this@ListActivity, 3)) + setAdapter(ListAdapter(this@ListActivity,soundsIndex){ data, soundsIndex-> + startActivity(Intent(this@ListActivity, PlaySoundsActivity::class.java).apply { + putExtra(PlaySoundsActivity.Companion.KEY_SOUNDS_DETAIL_DATA,data) + putExtra(PlaySoundsActivity.Companion.KEY_SOUNDS_DETAIL_INDEX,soundsIndex) + }) + + }.apply { + Util.showLog("---list-----updateData") + updateData(entitySoundsDetailList) + }) + } + } + + + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/soundsList/ListAdapter.kt b/app/src/main/java/com/prank/funky/voice/soundsList/ListAdapter.kt new file mode 100644 index 0000000..aa969aa --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/soundsList/ListAdapter.kt @@ -0,0 +1,41 @@ +package com.prank.funky.voice.soundsList + +import android.content.Context +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.core.content.ContextCompat +import androidx.recyclerview.widget.RecyclerView +import com.bumptech.glide.Glide +import com.prank.funky.voice.databinding.ListAdapterBinding +import com.prank.funky.voice.objectBox.EntitySoundsDetail +import com.prank.funky.voice.utils.BaseAdapter +import com.prank.funky.voice.utils.Util + +class ListAdapter(context: Context, var soundsIndex:Int, var onClickIntent: (sounds: EntitySoundsDetail, soundsIndex:Int) -> Unit) : + BaseAdapter(context) { + override fun getViewBinding(parent: ViewGroup?): ListAdapterBinding { + return ListAdapterBinding.inflate( + LayoutInflater.from(parent?.context), + parent, + false + ) + } + + override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { + val itemHolder = holder as VHolder + + itemHolder.vb.run { + root.background = ContextCompat.getDrawable(mContext, Util.mainBgs[soundsIndex]) + val entitySoundsDetail: EntitySoundsDetail = data[position] + val covert: String = entitySoundsDetail.covert.toString() + Glide.with(mContext).load(covert).into(imageView) + textView.text = entitySoundsDetail.name + root.setOnClickListener { + onClickIntent(entitySoundsDetail, soundsIndex) + + } + } + + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/utils/BaseAdapter.kt b/app/src/main/java/com/prank/funky/voice/utils/BaseAdapter.kt new file mode 100644 index 0000000..de58db2 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/utils/BaseAdapter.kt @@ -0,0 +1,50 @@ +package com.prank.funky.voice.utils + +import android.content.Context +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import androidx.viewbinding.ViewBinding + +abstract class BaseAdapter(protected var mContext: Context) : + RecyclerView.Adapter() { + protected var data: MutableList = ArrayList() + + var isLoadingAdded = false + protected set + + + fun addData(data: List?) { + this.data.addAll(data!!) + notifyDataSetChanged() + } + + fun updateData(data: List?) { + this.data.clear() + this.data.addAll(data!!) + notifyDataSetChanged() + } + + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { + val viewBinding = getViewBinding(parent) + return VHolder(viewBinding) + } + + protected abstract fun getViewBinding(parent: ViewGroup?): T + override fun getItemViewType(position: Int): Int { + return if (position == data.size && isLoadingAdded) TYPE_FOOTER else TYPE_ITEM + } + + override fun getItemCount(): Int { + return data.size + if (isLoadingAdded) 1 else 0 + } + + class VHolder(val vb: V) : RecyclerView.ViewHolder( + vb!!.root + ) + + companion object { + protected const val TYPE_ITEM = 0 + protected const val TYPE_FOOTER = 1 + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/utils/RecyclerSpace.kt b/app/src/main/java/com/prank/funky/voice/utils/RecyclerSpace.kt new file mode 100644 index 0000000..b0b7d6f --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/utils/RecyclerSpace.kt @@ -0,0 +1,77 @@ +package com.prank.funky.voice.utils + +import android.graphics.Rect +import android.view.View +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import androidx.recyclerview.widget.RecyclerView.ItemDecoration +import androidx.recyclerview.widget.StaggeredGridLayoutManager +import com.prank.funky.voice.App + + +class RecyclerSpace(v: Int, h: Int, ex: Int) : ItemDecoration() { + private val v: Int + private val h: Int + private val ex: Int + + init { + this.v = Math.round(dpToPx(v.toFloat())) + this.h = Math.round(dpToPx(h.toFloat())) + this.ex = Math.round(dpToPx(ex.toFloat())) + } + + override fun getItemOffsets( + outRect: Rect, + view: View, + parent: RecyclerView, + state: RecyclerView.State + ) { + super.getItemOffsets(outRect, view, parent, state) + var spanCount = 1 + var spanSize = 1 + var spanIndex = 0 + + val childAdapterPosition = parent.getChildAdapterPosition(view) + val layoutManager = parent.layoutManager + if (layoutManager is StaggeredGridLayoutManager) { + val layoutParams = view.layoutParams as StaggeredGridLayoutManager.LayoutParams + spanCount = layoutManager.spanCount + if (layoutParams.isFullSpan) { + spanSize = spanCount + } + spanIndex = layoutParams.spanIndex + } else if (layoutManager is GridLayoutManager) { + val gridLayoutManager = layoutManager + val layoutParams = view.layoutParams as GridLayoutManager.LayoutParams + spanCount = gridLayoutManager.spanCount + spanSize = gridLayoutManager.spanSizeLookup.getSpanSize(childAdapterPosition) + spanIndex = layoutParams.spanIndex + } else if (layoutManager is LinearLayoutManager) { + outRect.left = v + outRect.right = v + outRect.bottom = h + } + + if (spanSize == spanCount) { + outRect.left = v + ex + outRect.right = v + ex + outRect.bottom = h + } else { + val itemAllSpacing = (v * (spanCount + 1) + ex * 2) / spanCount + val left = v * (spanIndex + 1) - itemAllSpacing * spanIndex + ex + val right = itemAllSpacing - left + outRect.left = left + outRect.right = right + outRect.bottom = h + } + } + + + companion object { + fun dpToPx(dpValue: Float): Float { + val density: Float = App.Companion.mApp.resources.displayMetrics.density + return density * dpValue + 0.5f + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/utils/Util.kt b/app/src/main/java/com/prank/funky/voice/utils/Util.kt new file mode 100644 index 0000000..9d5cb82 --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/utils/Util.kt @@ -0,0 +1,187 @@ +package com.prank.funky.voice.utils + +import android.content.Context +import android.media.AudioManager +import android.net.Uri +import android.util.Log +import android.widget.SeekBar +import android.widget.SeekBar.OnSeekBarChangeListener +import androidx.appcompat.app.AppCompatActivity +import com.prank.funky.voice.objectBox.DbBaseFunction +import com.prank.funky.voice.objectBox.EntitySounds +import com.prank.funky.voice.objectBox.EntitySoundsDetail +import org.json.JSONArray +import org.json.JSONException +import java.io.BufferedReader +import java.io.File +import java.io.FileOutputStream +import java.io.IOException +import java.io.InputStream +import java.io.InputStreamReader +import java.io.StringWriter +import androidx.core.net.toUri +import com.prank.funky.voice.App +import com.prank.funky.voice.R + +object Util { + + val mainBgs: IntArray = intArrayOf( + R.drawable.bg_main_shape1, + R.drawable.bg_main_shape2, + R.drawable.bg_main_shape3, + R.drawable.bg_main_shape4 + ) + + fun getString(input: InputStream): String { + try { + val charArray = CharArray(input.available()) + var count = 0 + val stringWriter = StringWriter() + val inputStreamReader = InputStreamReader(input) + val bufferedReader = BufferedReader(inputStreamReader) + while ((bufferedReader.read(charArray).also { count = it }) != -1) { + stringWriter.write(charArray, 0, count) + } + return stringWriter.toString() + } catch (exception: IOException) { + return "" + } + } + + fun getBean(str: String?): List? { + try { + val data: MutableList = ArrayList() + val jsonArray = JSONArray(str) + + for (i in 0.. = ArrayList() + for (k in 0.. + FileOutputStream( + File( + context.cacheDir, + "temp_audio_file.mp3" + ) + ).use { outputStream -> + if (inputStream == null) { + Log.e("SaveActivity", "Input stream is null") + return null + } + val buffer = ByteArray(1024) + var bytesRead: Int + while ((inputStream!!.read(buffer).also { bytesRead = it }) != -1) { + outputStream.write(buffer, 0, bytesRead) + } + return File(context.cacheDir, "temp_audio_file.mp3").absolutePath + } + } + } catch (e: IOException) { + Log.e("SaveActivity", "Error reading file from URI", e) + return null + } + } + + + /** + * 保存导入的音频 + */ + fun saveSoundsDb( + context: Context, + entitySoundsDetail: EntitySoundsDetail, + newName: String, + saveResult: (ok: Boolean) -> Unit + ) { + entitySoundsDetail.soundsPath?.let { uri -> + copyFileFromLocalUri(context, uri.toUri())?.let { cachePath -> + val cacheDir: File = context.cacheDir + val sourceFile: File = File(cachePath) + val destinationFile = File(cacheDir, "$newName.mp3") + if (sourceFile.renameTo(destinationFile)) { + DbBaseFunction.getSoundsBox() + .put(entitySoundsDetail.apply { soundsPath = destinationFile.absolutePath }) + saveResult(true) + showLog("-------save-------${newName}") + } else { + saveResult(false) + } + + } ?: saveResult(false) + } ?: saveResult(false) + + + } + + + fun saveSoundsDb( + context: Context, + fileCachePath: String, + newName: String, + saveResult: (ok: Boolean) -> Unit + ) { + + val sourceFile: File = File(fileCachePath) + val destinationFile = File(context.cacheDir, "$newName.mp3") + if (sourceFile.renameTo(destinationFile)) { + DbBaseFunction.getSoundsBox().put( EntitySoundsDetail().apply { + soundsPath = destinationFile.absolutePath + isCustomization = true + isLike = false + name =newName + }) + saveResult(true) + showLog("-------save-------${newName} ${destinationFile.absolutePath}") + } else { + saveResult(false) + } + + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/prank/funky/voice/welcome/WelcomeActivity.kt b/app/src/main/java/com/prank/funky/voice/welcome/WelcomeActivity.kt new file mode 100644 index 0000000..abdbffe --- /dev/null +++ b/app/src/main/java/com/prank/funky/voice/welcome/WelcomeActivity.kt @@ -0,0 +1,56 @@ +package com.prank.funky.voice.welcome + +import android.content.Intent +import android.os.Bundle +import android.os.CountDownTimer +import android.widget.ProgressBar +import android.widget.TextView +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.prank.funky.voice.home.HomeActivity +import com.prank.funky.voice.R + +class WelcomeActivity : AppCompatActivity() { + private lateinit var pb: ProgressBar + private lateinit var tv_progress: TextView + private val count = 2000L + private var countDownTimer:CountDownTimer? = null + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_welcome) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + + pb = findViewById(R.id.load_pb) + tv_progress = findViewById(R.id.text_progress) + + countDownTimer = object : CountDownTimer(count,100){ + override fun onTick(millisUntilFinished: Long) { + val progressPercentage: Int = ((100 * millisUntilFinished) / count).toInt() + val progressInt = 100 - progressPercentage + tv_progress.text = getString(R.string.welcome_progress, progressInt) + pb.progress = progressInt + } + + override fun onFinish() { + tv_progress.text = getString(R.string.welcome_progress, 100) + pb.progress = 100 + startActivity(Intent(this@WelcomeActivity, HomeActivity::class.java)) + finish() + } + + } + countDownTimer?.start() + } + + override fun onDestroy() { + super.onDestroy() + countDownTimer?.cancel() + } +} \ No newline at end of file diff --git a/app/src/main/res/color/selector_clock_timer_display_color.xml b/app/src/main/res/color/selector_clock_timer_display_color.xml new file mode 100644 index 0000000..a10e504 --- /dev/null +++ b/app/src/main/res/color/selector_clock_timer_display_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_dialog_edittext_background.xml b/app/src/main/res/drawable/bg_dialog_edittext_background.xml new file mode 100644 index 0000000..eae83a2 --- /dev/null +++ b/app/src/main/res/drawable/bg_dialog_edittext_background.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_dialog_save_audio_background.xml b/app/src/main/res/drawable/bg_dialog_save_audio_background.xml new file mode 100644 index 0000000..dbb5699 --- /dev/null +++ b/app/src/main/res/drawable/bg_dialog_save_audio_background.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_main_shape1.xml b/app/src/main/res/drawable/bg_main_shape1.xml new file mode 100644 index 0000000..b80f5ef --- /dev/null +++ b/app/src/main/res/drawable/bg_main_shape1.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_main_shape2.xml b/app/src/main/res/drawable/bg_main_shape2.xml new file mode 100644 index 0000000..bc534ed --- /dev/null +++ b/app/src/main/res/drawable/bg_main_shape2.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_main_shape3.xml b/app/src/main/res/drawable/bg_main_shape3.xml new file mode 100644 index 0000000..2e3840a --- /dev/null +++ b/app/src/main/res/drawable/bg_main_shape3.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_main_shape4.xml b/app/src/main/res/drawable/bg_main_shape4.xml new file mode 100644 index 0000000..192c245 --- /dev/null +++ b/app/src/main/res/drawable/bg_main_shape4.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_main_stoke_bg.xml b/app/src/main/res/drawable/bg_main_stoke_bg.xml new file mode 100644 index 0000000..803856a --- /dev/null +++ b/app/src/main/res/drawable/bg_main_stoke_bg.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/bg_playsounds_oval1.xml b/app/src/main/res/drawable/bg_playsounds_oval1.xml new file mode 100644 index 0000000..9b61674 --- /dev/null +++ b/app/src/main/res/drawable/bg_playsounds_oval1.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/icon_back_black.xml b/app/src/main/res/drawable/icon_back_black.xml new file mode 100644 index 0000000..f53206f --- /dev/null +++ b/app/src/main/res/drawable/icon_back_black.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/icon_favorite.xml b/app/src/main/res/drawable/icon_favorite.xml new file mode 100644 index 0000000..e88432a --- /dev/null +++ b/app/src/main/res/drawable/icon_favorite.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/icon_music.xml b/app/src/main/res/drawable/icon_music.xml new file mode 100644 index 0000000..9ea7689 --- /dev/null +++ b/app/src/main/res/drawable/icon_music.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/icon_playsounds_collection.xml b/app/src/main/res/drawable/icon_playsounds_collection.xml new file mode 100644 index 0000000..a510069 --- /dev/null +++ b/app/src/main/res/drawable/icon_playsounds_collection.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/icon_playsounds_countdowm_timer.xml b/app/src/main/res/drawable/icon_playsounds_countdowm_timer.xml new file mode 100644 index 0000000..3c64192 --- /dev/null +++ b/app/src/main/res/drawable/icon_playsounds_countdowm_timer.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/icon_playsounds_countdowm_timer_gray.xml b/app/src/main/res/drawable/icon_playsounds_countdowm_timer_gray.xml new file mode 100644 index 0000000..284dc5c --- /dev/null +++ b/app/src/main/res/drawable/icon_playsounds_countdowm_timer_gray.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/icon_playsounds_loop_gray.xml b/app/src/main/res/drawable/icon_playsounds_loop_gray.xml new file mode 100644 index 0000000..02a4819 --- /dev/null +++ b/app/src/main/res/drawable/icon_playsounds_loop_gray.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/icon_playsounds_loop_light.xml b/app/src/main/res/drawable/icon_playsounds_loop_light.xml new file mode 100644 index 0000000..e69db30 --- /dev/null +++ b/app/src/main/res/drawable/icon_playsounds_loop_light.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/icon_playsounds_pause.xml b/app/src/main/res/drawable/icon_playsounds_pause.xml new file mode 100644 index 0000000..41a7e2c --- /dev/null +++ b/app/src/main/res/drawable/icon_playsounds_pause.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/icon_playsounds_pb_thumb.xml b/app/src/main/res/drawable/icon_playsounds_pb_thumb.xml new file mode 100644 index 0000000..f68b0be --- /dev/null +++ b/app/src/main/res/drawable/icon_playsounds_pb_thumb.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/icon_playsounds_play.xml b/app/src/main/res/drawable/icon_playsounds_play.xml new file mode 100644 index 0000000..3631dc7 --- /dev/null +++ b/app/src/main/res/drawable/icon_playsounds_play.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/icon_playsounds_volum.xml b/app/src/main/res/drawable/icon_playsounds_volum.xml new file mode 100644 index 0000000..ab3a153 --- /dev/null +++ b/app/src/main/res/drawable/icon_playsounds_volum.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/icon_recorder.xml b/app/src/main/res/drawable/icon_recorder.xml new file mode 100644 index 0000000..36cff97 --- /dev/null +++ b/app/src/main/res/drawable/icon_recorder.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/icon_recording.xml b/app/src/main/res/drawable/icon_recording.xml new file mode 100644 index 0000000..4aa3063 --- /dev/null +++ b/app/src/main/res/drawable/icon_recording.xml @@ -0,0 +1,21 @@ + + + + + + + diff --git a/app/src/main/res/drawable/image_favorite_empty.xml b/app/src/main/res/drawable/image_favorite_empty.xml new file mode 100644 index 0000000..42e38e6 --- /dev/null +++ b/app/src/main/res/drawable/image_favorite_empty.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/selector_playsounds_favorite.xml b/app/src/main/res/drawable/selector_playsounds_favorite.xml new file mode 100644 index 0000000..c1858f5 --- /dev/null +++ b/app/src/main/res/drawable/selector_playsounds_favorite.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_playsounds_looper.xml b/app/src/main/res/drawable/selector_playsounds_looper.xml new file mode 100644 index 0000000..6d2ce1e --- /dev/null +++ b/app/src/main/res/drawable/selector_playsounds_looper.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_playsounds_paly_btn.xml b/app/src/main/res/drawable/selector_playsounds_paly_btn.xml new file mode 100644 index 0000000..3c4e44a --- /dev/null +++ b/app/src/main/res/drawable/selector_playsounds_paly_btn.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_playsounds_timer.xml b/app/src/main/res/drawable/selector_playsounds_timer.xml new file mode 100644 index 0000000..31baa0e --- /dev/null +++ b/app/src/main/res/drawable/selector_playsounds_timer.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/volume_progress.xml b/app/src/main/res/drawable/volume_progress.xml new file mode 100644 index 0000000..94be62a --- /dev/null +++ b/app/src/main/res/drawable/volume_progress.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/welcome_bg.xml b/app/src/main/res/drawable/welcome_bg.xml new file mode 100644 index 0000000..1d7173b --- /dev/null +++ b/app/src/main/res/drawable/welcome_bg.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/welcome_progress.xml b/app/src/main/res/drawable/welcome_progress.xml new file mode 100644 index 0000000..9ac33e4 --- /dev/null +++ b/app/src/main/res/drawable/welcome_progress.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_collection.xml b/app/src/main/res/layout/activity_collection.xml new file mode 100644 index 0000000..7228a57 --- /dev/null +++ b/app/src/main/res/layout/activity_collection.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_custom.xml b/app/src/main/res/layout/activity_custom.xml new file mode 100644 index 0000000..b99b19a --- /dev/null +++ b/app/src/main/res/layout/activity_custom.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml new file mode 100644 index 0000000..87b7b3d --- /dev/null +++ b/app/src/main/res/layout/activity_home.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_list.xml b/app/src/main/res/layout/activity_list.xml new file mode 100644 index 0000000..2a98eb9 --- /dev/null +++ b/app/src/main/res/layout/activity_list.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_play_sounds.xml b/app/src/main/res/layout/activity_play_sounds.xml new file mode 100644 index 0000000..691fcd2 --- /dev/null +++ b/app/src/main/res/layout/activity_play_sounds.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_record.xml b/app/src/main/res/layout/activity_record.xml new file mode 100644 index 0000000..2b13e2a --- /dev/null +++ b/app/src/main/res/layout/activity_record.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_welcome.xml b/app/src/main/res/layout/activity_welcome.xml new file mode 100644 index 0000000..6f9af2c --- /dev/null +++ b/app/src/main/res/layout/activity_welcome.xml @@ -0,0 +1,40 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/collection_adapter.xml b/app/src/main/res/layout/collection_adapter.xml new file mode 100644 index 0000000..a851b84 --- /dev/null +++ b/app/src/main/res/layout/collection_adapter.xml @@ -0,0 +1,31 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/custom_audio_adapter.xml b/app/src/main/res/layout/custom_audio_adapter.xml new file mode 100644 index 0000000..9ef4ba6 --- /dev/null +++ b/app/src/main/res/layout/custom_audio_adapter.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_save_audio.xml b/app/src/main/res/layout/dialog_save_audio.xml new file mode 100644 index 0000000..ffd0f70 --- /dev/null +++ b/app/src/main/res/layout/dialog_save_audio.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_timer.xml b/app/src/main/res/layout/dialog_timer.xml new file mode 100644 index 0000000..6388ef2 --- /dev/null +++ b/app/src/main/res/layout/dialog_timer.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/home_adapter.xml b/app/src/main/res/layout/home_adapter.xml new file mode 100644 index 0000000..268ed62 --- /dev/null +++ b/app/src/main/res/layout/home_adapter.xml @@ -0,0 +1,26 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/list_adapter.xml b/app/src/main/res/layout/list_adapter.xml new file mode 100644 index 0000000..7179914 --- /dev/null +++ b/app/src/main/res/layout/list_adapter.xml @@ -0,0 +1,26 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..c209e78ecd372343283f4157dcfd918ec5165bb3 GIT binary patch literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9 GIT binary patch literal 2898 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..4f0f1d64e58ba64d180ce43ee13bf9a17835fbca GIT binary patch literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0 GIT binary patch literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f GIT binary patch literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/logo.png b/app/src/main/res/mipmap-xxxhdpi/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..472219d88ff75bf6e2c7b3735da786ae4835ce64 GIT binary patch literal 232239 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�zWnks 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..1742bb7 --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,26 @@ + + + + + + + + #FF000000 + #FFFFFFFF + + #707CC4 + #EA4C78 + #C3D401 + #018ED2 + #93D5EB + + + #E61B1B + + #9B9B9B + #E9E3E3 + #00000000 + #DCC8FF + + #29000000 + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..0ce5449 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,27 @@ + + FunkyVoice + %d%% + + off + 15 sec + 30 sec + 1 min + 5 min + Favorite + Custom Audio + Save Audio + There is no sound in the favorites + You haven\'t created any custom audio yet + Import Audio + Recording Audio + Start Audio + Cancel + Save + Give your created sound a name + Audio saved successfully + An audio with the same name already exists! + Start + Stop + 00 : 00 : 00 + Countdown to Prank + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..2c06376 --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,5 @@ + + + +