相关文章推荐
挂过科的甜瓜  ·  2020年央视春晚将实现4K、VR直播-新华网·  2 月前    · 
八块腹肌的生菜  ·  2024年以来发行的普通纪念币二次预约兑换公告·  3 月前    · 
爽快的松鼠  ·  小米生态链企业 获批科创板上市 _大公网·  4 月前    · 
斯文的剪刀  ·  深夜食堂 ...·  5 月前    · 
爱喝酒的刺猬  ·  数字化审图时代批量生成PDF或者DWF利器S ...·  1 年前    · 
Code  ›  Jetpack compose -尝试让声音在viewmodel中播放开发者社区
https://cloud.tencent.com/developer/ask/sof/360060/answer/600136
骑白马的小蝌蚪
1 年前
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
提问

问 Jetpack compose -尝试让声音在viewmodel中播放

Stack Overflow用户
提问于 2021-08-09 08:38:05
EN

由于我的应用程序结构,我试图在@Copmosable之外播放声音。

我有一个验证例程,它在我的视图模型中,根据结果我想触发一个声音,但我似乎无法在@Composable之外获得上下文工作

我在MasterViewModel中得到以下错误:

None of the following functions can be called with the arguments supplied.
create(Context!, Uri!) defined in android.media.MediaPlayer
create(Context!, Int) defined in android.media.MediaPlayer

任何指点都会很好,谢谢!

package com.example.soundtest
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import com.example.soundtest.ui.theme.SoundTestTheme
class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            SoundTestTheme {
                // A surface container using the 'background' color from the theme
                Surface(color = MaterialTheme.colors.background) {
                    Greeting()
@Composable
fun Greeting(mastVM: MasterViewModel = MasterViewModel()) {
    Text("Play a sound...")
    mastVM.playSound()
}

和MasterViewModel

package com.example.soundtest
import android.media.MediaPlayer
class MasterViewModel {
    fun playSound() {
        val mp: MediaPlayer = MediaPlayer.create(this, R.raw.correct)
}

我在res->raw-correct.mp3 -mp3下保存了原始文件

MasterViewModel Error

1 531 0 票数 3
EN
kotlin
android-mediaplayer
android-jetpack

Stack Overflow用户

发布于 2021-08-09 10:03:42

我让它工作了!

我只是包含了

@Composable
fun Greeting(mastVM: MasterViewModel = MasterViewModel()) {
    val context = LocalContext.current
 
推荐文章
挂过科的甜瓜  ·  2020年央视春晚将实现4K、VR直播-新华网
2 月前
八块腹肌的生菜  ·  2024年以来发行的普通纪念币二次预约兑换公告
3 月前
爽快的松鼠  ·  小米生态链企业 获批科创板上市 _大公网
4 月前
斯文的剪刀  ·  深夜食堂 第五季第四十三话-电视剧-全集-高清独家在线观看-bilibili-哔哩哔哩
5 月前
爱喝酒的刺猬  ·  数字化审图时代批量生成PDF或者DWF利器SmartBatchPlot-CSDN博客
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号