小编Rez*_*eza的帖子

类型“object”必须有一个返回迭代器的“Symbol.iterator”方法

data.technologies 是一个数组,我想获得该数组的输出。

这是输出的data.technologies样子:

在此处输入图片说明

this.profileService.getEntities().subscribe(data => {
  for (const technology of data.technologies) {
    console.log(technology);
  }
});
Run Code Online (Sandbox Code Playgroud)

的类型getEntities()Observable<IprofileData>

export interface IprofileData {  
  technologies: object;
}
Run Code Online (Sandbox Code Playgroud)

TypeScript 给了我错误:

TS2488:类型“object”必须有一个返回迭代器的“Symbol.iterator”方法。

我究竟做错了什么?

typescript angular

7
推荐指数
2
解决办法
3万
查看次数

TTS:如何将文本转换为 SSML?

我的目标是让设备用人声说出文本。所以我正在使用 Google 的 Text-to-Speech API。

这是我的代码的样子:

package ch.yourclick.kitt;

import android.media.MediaPlayer;
import android.os.Build;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.View;

import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;

import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.tabs.TabLayout;
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.texttospeech.v1.AudioConfig;
import com.google.cloud.texttospeech.v1.AudioEncoding;
import com.google.cloud.texttospeech.v1.SsmlVoiceGender;
import com.google.cloud.texttospeech.v1.SynthesisInput;
import com.google.cloud.texttospeech.v1.SynthesizeSpeechResponse;
import com.google.cloud.texttospeech.v1.TextToSpeechClient;
import com.google.cloud.texttospeech.v1.TextToSpeechSettings;
import com.google.cloud.texttospeech.v1.VoiceSelectionParams;
import com.google.common.html.HtmlEscapers;
import com.google.protobuf.ByteString;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;

import ch.yourclick.kitt.ui.main.SectionsPagerAdapter;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); …
Run Code Online (Sandbox Code Playgroud)

java android text-to-speech ssml

6
推荐指数
1
解决办法
387
查看次数

TTS:说话失败

我正在使用一个简单的代码来使用 Text-To-Speech:

package ch.yourclick.kitt.fragments;

import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import java.util.Locale;
import ch.yourclick.kitt.R;

/**
 * A simple {@link Fragment} subclass.
 * Use the {@link GeneralFragment#newInstance} factory method to
 * create an instance of this fragment.
 */
public class GeneralFragment extends Fragment {
    private TextToSpeech tts;

    public GeneralFragment() {
        // Required empty public constructor
    }

    /**
     * Use this factory method to create a new instance of
     * this fragment …
Run Code Online (Sandbox Code Playgroud)

java android text-to-speech

5
推荐指数
1
解决办法
943
查看次数

Visualizer 被复制但不超过一次

我想多次使用audio-visualizer-android 的可视化工具

据我所知,图书馆不支持,但我在这里收到了很好的答案。

这是它的代码:

public class CopyBarVisualizer extends BarVisualizer {
    private List<UpdateListener> listeners = new ArrayList<>();

    public CopyBarVisualizer(Context context) {
        super(context);
    }

    public CopyBarVisualizer(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public CopyBarVisualizer(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public void addUpdateListener(UpdateListener listener) {
        listeners.add(listener);
    }

    public void copyFrom(CopyBarVisualizer other) {
        other.addUpdateListener(new UpdateListener() {
            @Override
            public void update(byte[] data) {
                mRawAudioBytes = data;
                CopyBarVisualizer.this.invalidate();
            }
        });
    }

    @Override
    public void …
Run Code Online (Sandbox Code Playgroud)

java android

5
推荐指数
0
解决办法
98
查看次数

Google Chrome 将文本字段指定为密码字段

我有一个基本文本字段,但 Google Chrome 将其指定为密码字段。

<form [formGroup]="formBuilder">

  <p>
    <mat-form-field appearance="fill">
      <mat-label>Title</mat-label>
      <input matInput placeholder="Type a title" formControlName="title">
    </mat-form-field>
  </p>

  <p>
    <mat-form-field appearance="fill">
      <mat-label>Description</mat-label>
      <textarea matInput></textarea>
    </mat-form-field>
  </p>

  <p>
    <mat-form-field appearance="fill">
      <mat-label>Label of a detail</mat-label>
      <input matInput type="text"> <!-- THE PROBLEM -->
    </mat-form-field>

    <mat-form-field appearance="fill">
      <mat-label>Description of a detail</mat-label>
      <input matInput type="text">
    </mat-form-field>
  </p>

</form>
Run Code Online (Sandbox Code Playgroud)

如果我单击该输入字段,则结果如下:

在此输入图像描述

我在StackBlitz上尝试过相同的代码,但看起来不错,而且我没有看到问题所在。

我在 localhost:4200 上运行该页面。为什么这个字段是密码字段?

html google-chrome angular-material angular

4
推荐指数
1
解决办法
1230
查看次数

如何将 GOOGLE_APPLICATION_CREDENTIALS 指向我的 JSON 文件?

我想在我的 Android 应用程序中使用Google 文本转语音

根据文档,我已经完成了所有这些步骤:

  1. 在 Cloud Console 中,转到创建服务帐号密钥页面。
  2. 从服务帐户列表中,选择新服务帐户。
  3. 在服务帐户名称字段中,输入名称。
  4. 从角色列表中,选择项目 > 所有者。
  5. 单击“创建”。包含您的密钥的 JSON 文件将下载到您的计算机。

我正在使用Google 的代码来传递凭据,这是我下载的 JSON 文件:

public void main(String... args) throws Exception {
    // You can specify a credential file by providing a path to GoogleCredentials.
    // Otherwise credentials are read from the GOOGLE_APPLICATION_CREDENTIALS environment variable.
    InputStream stream = getResources().openRawResource(R.raw.credential); // R.raw.credential is credential.json
    GoogleCredentials credentials = GoogleCredentials.fromStream(new FileInputStream(String.valueOf(stream)))
            .createScoped(Lists.newArrayList(Collections.singleton("https://www.googleapis.com/auth/cloud-platform")));
    Storage storage = StorageOptions.newBuilder().setCredentials(credentials).build().getService();

    System.out.println("Buckets:");
    Page<Bucket> buckets = storage.list(); …
Run Code Online (Sandbox Code Playgroud)

java android google-api

1
推荐指数
1
解决办法
3834
查看次数

位置粘性适用于 &lt;table&gt; 但不适用于 &lt;tr&gt;

我有一张桌子,当我向下滚动时,我希望第 3 行保持在顶部。

body {
  height: 200vh;
}

.sticky {
  position: sticky;
  top: 0;
}
Run Code Online (Sandbox Code Playgroud)
<table>
  <tr>
    <td>#</td>
    <td>1</td>
  </tr>
  <tr>
    <td>#</td>
    <td>2</td>
  </tr>
  <tr class="sticky">
    <td>#</td>
    <td>3</td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我可以sticky在元素上使用该类<table>并且可以正常工作,但不能在<tr>.

html css

0
推荐指数
1
解决办法
41
查看次数