gpt4 book ai didi

Android,在屏幕上看到 View 时播放声音

转载 作者:行者123 更新时间:2023-11-29 22:12:21 25 4
gpt4 key购买 nike

我在 Android 中遇到音频问题。这是交易,我有一个非常简单的启动画面。我的 Intent 是一旦屏幕加载,它将播放一个非常小的音频文件。

问题是很多时候,音频会在启动画面实际出现之前播放。

有没有办法以编程方式验证屏幕是否已加载?我不想添加不必要的计时器来确保声音在加载之前不会播放。我希望在屏幕出现的那一刻播放声音。

这是我的 xml 文件中的一个 fragment :

<ImageView
android:src="@drawable/splash"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>

splash 是一张 .png 图片

这是 onCreate 代码: @覆盖 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.scarysplash);

mpPlaySound = MediaPlayer.create(this, R.raw.scream1);
mpPlaySound.start();
}

}

预先感谢您的帮助!

最佳答案

你不是唯一有类似问题的人:)) 有几种方法可以做到这一点,流行的方法是实现 OnGlobalLayoutListener(),例如:

    View yourView = ...;
yourView.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener()
{
// -----------------------------------------
//
// Callback method to be invoked when the
// global layout state or the visibility
// of views within the view tree changes
//
// -----------------------------------------
@Override
public void onGlobalLayout()
{

// Remove view
View yourView = findViewById( R.id.yourId );

if ( yourView != null )
{
yourView .getViewTreeObserver().removeGlobalOnLayoutListener(this);

}
// PLAY SOUND
}
});

彼得

关于Android,在屏幕上看到 View 时播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9323348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com